home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic 5 Developer's Kit / vb5 dev kit.iso / dev / t2win_16 / t2win-16.frm (.txt) < prev    next >
Encoding:
Visual Basic Form  |  1996-01-07  |  273.2 KB  |  6,880 lines

  1. VERSION 4.00
  2. Begin VB.Form frmT2W 
  3.    BorderStyle     =   4  'Fixed ToolWindow
  4.    Caption         =   "TIME TO WIN (16-Bit Demo)"
  5.    ClientHeight    =   8115
  6.    ClientLeft      =   285
  7.    ClientTop       =   465
  8.    ClientWidth     =   9105
  9.    BeginProperty Font 
  10.       name            =   "MS Sans Serif"
  11.       charset         =   1
  12.       weight          =   700
  13.       size            =   8.25
  14.       underline       =   0   'False
  15.       italic          =   0   'False
  16.       strikethrough   =   0   'False
  17.    EndProperty
  18.    ForeColor       =   &H80000008&
  19.    Height          =   8460
  20.    Left            =   255
  21.    LinkTopic       =   "Form1"
  22.    MaxButton       =   0   'False
  23.    ScaleHeight     =   8115
  24.    ScaleWidth      =   9105
  25.    ShowInTaskbar   =   0   'False
  26.    Tag             =   "c"
  27.    Top             =   150
  28.    Width           =   9165
  29.    Begin VB.PictureBox Picture1 
  30.       AutoRedraw      =   -1  'True
  31.       AutoSize        =   -1  'True
  32.       BorderStyle     =   0  'None
  33.       Height          =   480
  34.       Left            =   8550
  35.       Picture         =   "T2WIN-16.frx":0000
  36.       ScaleHeight     =   480
  37.       ScaleWidth      =   480
  38.       TabIndex        =   0
  39.       Top             =   180
  40.       Visible         =   0   'False
  41.       Width           =   480
  42.    End
  43.    Begin VB.ComboBox Combo2 
  44.       Height          =   300
  45.       Left            =   6570
  46.       TabIndex        =   4
  47.       Top             =   450
  48.       Width           =   1185
  49.    End
  50.    Begin VB.TextBox Text1 
  51.       Height          =   285
  52.       Left            =   3150
  53.       TabIndex        =   10
  54.       Text            =   "Text1"
  55.       Top             =   7740
  56.       Width           =   5865
  57.    End
  58.    Begin VB.Frame Frame1 
  59.       Height          =   1455
  60.       Left            =   90
  61.       TabIndex        =   6
  62.       Top             =   6210
  63.       Visible         =   0   'False
  64.       Width           =   8925
  65.       Begin VB.ListBox List1 
  66.          Height          =   1200
  67.          Left            =   180
  68.          TabIndex        =   7
  69.          Top             =   180
  70.          Width           =   4155
  71.       End
  72.       Begin VB.ListBox List2 
  73.          Height          =   1200
  74.          Left            =   4590
  75.          TabIndex        =   8
  76.          Top             =   180
  77.          Width           =   4155
  78.       End
  79.    End
  80.    Begin VB.CommandButton Command1 
  81.       Caption         =   "&Start demo for the selected item"
  82.       Height          =   285
  83.       Left            =   90
  84.       TabIndex        =   2
  85.       Top             =   450
  86.       Width           =   4065
  87.    End
  88.    Begin VB.ComboBox Combo1 
  89.       Height          =   300
  90.       Left            =   90
  91.       TabIndex        =   1
  92.       Top             =   90
  93.       Width           =   7665
  94.    End
  95.    Begin VB.Label Label2 
  96.       Appearance      =   0  'Flat
  97.       BackColor       =   &H80000005&
  98.       BackStyle       =   0  'Transparent
  99.       Caption         =   "&Text for string manipulation"
  100.       ForeColor       =   &H80000008&
  101.       Height          =   195
  102.       Left            =   90
  103.       TabIndex        =   9
  104.       Top             =   7785
  105.       Width           =   2985
  106.    End
  107.    Begin VB.Label Label1 
  108.       BackStyle       =   0  'Transparent
  109.       Caption         =   "&Iterations for speed test"
  110.       Height          =   195
  111.       Left            =   4320
  112.       TabIndex        =   3
  113.       Top             =   510
  114.       Width           =   2175
  115.    End
  116.    Begin VB.Label Label3 
  117.       BackStyle       =   0  'Transparent
  118.       BorderStyle     =   1  'Fixed Single
  119.       Height          =   5340
  120.       Left            =   90
  121.       TabIndex        =   5
  122.       Top             =   810
  123.       Width           =   8925
  124.       WordWrap        =   -1  'True
  125.    End
  126. Attribute VB_Name = "frmT2W"
  127. Attribute VB_Creatable = False
  128. Attribute VB_Exposed = False
  129. Option Explicit
  130. Option Base 1
  131. Dim Item       As Integer
  132. Dim ItemFile   As Integer
  133. Dim ItemMean   As Integer
  134. Const RandI = 32767
  135. Const RandL = 2147483647
  136. Const RandS = 1E+10!
  137. Const RandD = 1E+16
  138. Dim Tmp  As String
  139. Private Sub Combo2_Click()
  140.    Item = Val(Combo2.Text)
  141.    ItemFile = Val(Combo2.Text)
  142.    ItemMean = Val(Combo2.Text)
  143. End Sub
  144. Private Sub Command1_Click()
  145.    Static Flag    As Integer
  146.    If (Flag = True) Then Exit Sub
  147.    frmT2W.Tag = cGetIn(cEXEnameActiveWindow(), ".", 1)
  148.    cDisableFI Picture1
  149.    Flag = True
  150.    MousePointer = 11
  151.    Frame1.Visible = False
  152.    List1.Clear
  153.    List2.Clear
  154.    List1.FontBold = True
  155.    List2.FontBold = True
  156.    Label3.Caption = ""
  157.    DoEvents
  158.    Select Case Combo1.ListIndex
  159.       Case 0
  160.          Frame1.Visible = True
  161.          Call TestAddI
  162.       Case 1
  163.          Frame1.Visible = True
  164.          Call TestDeviationI
  165.       Case 2
  166.          Frame1.Visible = True
  167.          Call TestFillI
  168.       Case 3
  169.          Frame1.Visible = True
  170.          Call TestMaxI
  171.       Case 4
  172.          Frame1.Visible = True
  173.          Call TestMeanI
  174.       Case 5
  175.          Frame1.Visible = True
  176.          Call TestMinI
  177.       Case 6
  178.          Frame1.Visible = True
  179.          Call TestSetI
  180.       Case 7
  181.          Frame1.Visible = True
  182.          Call TestSumI
  183.       Case 8
  184.          Frame1.Visible = True
  185.          Call TestSortI
  186.       Case 9
  187.          Frame1.Visible = True
  188.          Call TestReverseSortI
  189.       Case 10
  190.          Call TestAddTime
  191.       Case 11
  192.          Call TestTimeBetween
  193.       Case 12
  194.          Call TestCheckTime
  195.       Case 13
  196.          Call TestHourTo
  197.       Case 14
  198.          Call TestWindowsIni
  199.       Case 15
  200.          Call TestWinINI1
  201.       Case 16
  202.          Call TestWinINI2
  203.       Case 17
  204.          Call TestWinINI3
  205.       Case 18
  206.          Call TestAllSubDir
  207.       Case 19
  208.          Call TestGetDriveCurrentDir
  209.       Case 20
  210.          Call TestGetDefaultCurrentDir
  211.       Case 21
  212.          Call TestChDir
  213.       Case 22
  214.          Call TestCountFiles
  215.       Case 23
  216.          Call TestCountDirectories
  217.       Case 24
  218.          Call TestKillFiles
  219.       Case 25
  220.          Call TestGetFullnameInEnv
  221.       Case 26
  222.          Call TestGetDiskSpace
  223.       Case 27
  224.          Call TestGetDiskUsed
  225.       Case 28
  226.          Call TestGetDiskFree
  227.       Case 29
  228.          Call TestKillDir
  229.       Case 30
  230.          Call TestRenameFile
  231.       Case 31
  232.          Call TestFileResetAllAttrib
  233.       Case 32
  234.          Call TestFileSetAllAttrib
  235.       Case 33
  236.          Call TestIsFileX
  237.       Case 34
  238.          Call TestSubDirectory
  239.       Case 35
  240.          Call TestUniqueFileName
  241.       Case 36
  242.          Call TestIsX
  243.       Case 37
  244.          Call TestOneCharFromLeft
  245.       Case 38
  246.          Call TestOneCharFromRight
  247.       Case 39
  248.          Call TestBlockCharFromLeft
  249.       Case 40
  250.          Call TestBlockCharFromRight
  251.       Case 41
  252.          Call TestCompact
  253.       Case 42
  254.          Call TestUncompact
  255.       Case 43
  256.          Call TestInsertChars
  257.       Case 44
  258.          Call TestRemoveBlockChar
  259.       Case 45
  260.          Call TestRemoveOneChar
  261.       Case 46
  262.          Call TestCompressTab
  263.       Case 47
  264.          Call TestExpandTab
  265.       Case 48
  266.          Call TestGiveBitPalindrome
  267.       Case 49
  268.          Call TestIsBitPalindrome
  269.       Case 50
  270.          Call TestInsertBlocksBy
  271.       Case 51
  272.          Call TestInsertBlocks
  273.       Case 52
  274.          Call TestResizeStringAndFill
  275.       Case 53
  276.          Call TestResizeString
  277.       Case 54
  278.          Call TestFilterBlocks
  279.       Case 55
  280.          Call TestFilterChars
  281.       Case 56
  282.          Call TestCheckChars
  283.       Case 57
  284.          Call TestChangeChars
  285.       Case 58
  286.          Call TestChangeCharsUntil
  287.       Case 59
  288.          Call TestReverse
  289.       Case 60
  290.          Call TestGetIn
  291.       Case 61
  292.          Call TestGetBlock
  293.       Case 62
  294.          Call TestCreateAndFill
  295.       Case 63
  296.          Call TestStringCRC32
  297.       Case 64
  298.          Call TestCompress
  299.       Case 65
  300.          Call TestEncrypt
  301.       Case 66
  302.          Call TestDecrypt
  303.       Case 67
  304.          Call TestFileCRC32
  305.       Case 68
  306.          Call TestLrc
  307.       Case 69
  308.          Call TestIsPalindrome
  309.       Case 70
  310.          Call TestCheckNumericity
  311.       Case 71
  312.          Call TestFill
  313.       Case 72
  314.          Call TestSetAllBits
  315.       Case 73
  316.          Call TestSetBit
  317.       Case 74
  318.          Call TestGetBit
  319.       Case 75
  320.          Call TestFindBitSet
  321.       Case 76
  322.          Call TestFindBitReset
  323.       Case 77
  324.          Call TestToggleBit
  325.       Case 78
  326.          Call TestToggleAllBits
  327.       Case 79
  328.          Call TestReverseAllBits
  329.       Case 80
  330.          Call TestReverseAllBitsByChar
  331.       Case 81
  332.          Call TestCreateBits
  333.       Case 82
  334.          Call TestAtoR
  335.       Case 83
  336.          Call TestRtoA
  337.       Case 84
  338.          Call TestCustomControls
  339.       Case 85
  340.          Call TestSwap
  341.       Case 86
  342.          Call TestMin
  343.       Case 87
  344.          Call TestMenuChange
  345.       Case 88
  346.          Call TestFilesSize
  347.       Case 89
  348.          Call TestClusterSize
  349.       Case 90
  350.          Call TestAscTime
  351.       Case 91
  352.          Call TestLanguage
  353.       Case 92
  354.          Call TestReadLanguage
  355.       Case 93
  356.          Call TestFileCmp
  357.       Case 94
  358.          Call TestFileCopy
  359.       Case 95
  360.          Call TestFileFilter
  361.       Case 96
  362.          Call TestFileFilterNot
  363.       Case 97
  364.          Call TestFileEncrypt
  365.       Case 98
  366.          Call TestFileCompressTab
  367.       Case 99
  368.          Call TestSplitPath
  369.       Case 100
  370.          Call TestFullPath
  371.       Case 101
  372.          Call TestMakePath
  373.       Case 102
  374.          Call TestMsgBox
  375.       Case 103
  376.          Call TestInpBox
  377.       Case 104
  378.          Call TestMixChars
  379.       Case 105
  380.          Call TestFileVersionInfo
  381.       Case 106
  382.          Call TestFileVersion
  383.       Case 107
  384.          Call TestFileLineCount
  385.       Case 108
  386.          Call TestFileToX
  387.       Case 109
  388.          Call TestBig
  389.       Case 110
  390.          Call TestBigNum
  391.       Case 111
  392.          Call TestSysMenuChange(LNG_FRENCH)
  393.       Case 112
  394.          Call TestSysMenuChange(LNG_DUTCH)
  395.       Case 113
  396.          Call TestSysMenuChange(LNG_GERMAN)
  397.       Case 114
  398.          Call TestSysMenuChange(LNG_ENGLISH)
  399.       Case 115
  400.          Call TestSysMenuChange(LNG_ITALIAN)
  401.       Case 116
  402.          Call TestSysMenuChange(LNG_SPANISH)
  403.       Case 117
  404.          Call TestFileMerge
  405.       Case 118
  406.          Call TestFileSR
  407.       Case 119
  408.          Call TestFileS
  409.       Case 120
  410.          Call TestPatternMatch
  411.       Case 121
  412.          Call TestPatternExtMatch
  413.       Case 122
  414.          Call TestMorse
  415.       Case 123
  416.          Call TestDriveType
  417.       Case 124
  418.          Call TestBaseConversion
  419.       Case 125
  420.          Call TestFileStatictics
  421.       Case 126
  422.          Call TestDAStr(True)
  423.       Case 127
  424.          Call TestDAL(True)
  425.       Case 128
  426.          Call TestDAType(True)
  427.       Case 129
  428.          Call TestDAStr(False)
  429.       Case 130
  430.          Call TestDAL(False)
  431.       Case 131
  432.          Call TestDAType(False)
  433.       Case 132
  434.          Call TestDAStr(1)
  435.       Case 133
  436.          Call TestDAL(1)
  437.       Case 134
  438.          Call TestDAType(1)
  439.       Case 135
  440.          Call TestDAStr(2)
  441.       Case 136
  442.          Call TestDAL(2)
  443.       Case 137
  444.          Call TestDAType(2)
  445.       Case 138
  446.          Call TestDAStr(3)
  447.       Case 139
  448.          Call TestDAL(3)
  449.       Case 140
  450.          Call TestDAType(3)
  451.       Case 141
  452.          Call TestDAStr(4)
  453.       Case 142
  454.          Call TestDAL(4)
  455.       Case 143
  456.          Call TestDAType(4)
  457.       Case 144
  458.          Call TestDAStr(5)
  459.       Case 145
  460.          Call TestDAL(5)
  461.       Case 146
  462.          Call TestDAType(5)
  463.       Case 147
  464.          Call TestDAStr(6)
  465.       Case 148
  466.          Call TestDAL(6)
  467.       Case 149
  468.          Call TestDAType(6)
  469.       Case 150
  470.          Call TestCloseAllEditForm
  471.       Case 151
  472.          Call TestHideAllEditForm
  473.       Case 152
  474.          Call TestHideDebugForm
  475.       Case 153
  476.          Call TestOrToken
  477.       Case 154
  478.          Call TestAndToken
  479.       Case 155
  480.          Call TestWalkThruWindow
  481.       Case 156
  482.          Call TestSerial
  483.       Case 157
  484.          Call TestTimer
  485.       Case 158
  486.          Call TestAlign
  487.       Case 159
  488.          Call TestToken
  489.       Case 160
  490.          Call TestArrayOnDisk
  491.       Case 161
  492.          Call TestArrayStringOnDisk
  493.       Case 162
  494.          Call TestCnvAE
  495.       Case 163
  496.          Call TestCombination
  497.       Case 164
  498.          Frame1.Visible = True
  499.          Call TestFileSort(SORT_ASCENDING + SORT_CASE_SENSITIVE, False)
  500.       Case 165
  501.          Frame1.Visible = True
  502.          Call TestFileSort(SORT_DESCENDING + SORT_CASE_SENSITIVE, False)
  503.       Case 166
  504.          Frame1.Visible = True
  505.          Call TestFileSort(SORT_ASCENDING + SORT_CASE_INSENSITIVE, False)
  506.       Case 167
  507.          Frame1.Visible = True
  508.          Call TestFileSort(SORT_DESCENDING + SORT_CASE_INSENSITIVE, False)
  509.       Case 168
  510.          Frame1.Visible = True
  511.          Call TestFileSort(SORT_ASCENDING + SORT_CASE_SENSITIVE, True)
  512.       Case 169
  513.          Frame1.Visible = True
  514.          Call TestFileSort(SORT_DESCENDING + SORT_CASE_SENSITIVE, True)
  515.       Case 170
  516.          Frame1.Visible = True
  517.          Call TestFileSort(SORT_ASCENDING + SORT_CASE_INSENSITIVE, True)
  518.       Case 171
  519.          Frame1.Visible = True
  520.          Call TestFileSort(SORT_DESCENDING + SORT_CASE_INSENSITIVE, True)
  521.       Case 172
  522.          Call TestRegistrationKey
  523.       Case 173
  524.          Call TestMD5
  525.       Case 174
  526.          Call TestProperName
  527.       Case 175
  528.          Call TestMatrixAdd
  529.       Case 176
  530.          Call TestMatrixSub
  531.       Case 177
  532.          Call TestMatrixCopy
  533.       Case 178
  534.          Call TestMatrixMul
  535.       Case 179
  536.          Call TestMatrixTranspose
  537.       Case 180
  538.          Call TestMatrixCompare
  539.       Case 181
  540.          Call Test2D
  541.       Case 182
  542.          Call Test3D
  543.       Case 183
  544.          Call TestProperName2
  545.       Case 184
  546.          Call TestDOSMediaID
  547.       Case 185
  548.          Call TestFileCompress
  549.       Case 186
  550.          Call TestStringCompress
  551.       Case 187
  552.          Frame1.Visible = True
  553.          Call TestFillIncrI
  554.       Case 188
  555.          Call TestMatrixDet
  556.       Case 189
  557.          Call TestMatrixInv
  558.       Case 190
  559.          Call TestMatrixMinCo
  560.       Case 191
  561.          Call TestMatrixSymToeplitz
  562.       Case 192
  563.          Call TestFloppyInfo
  564.       Case 193
  565.          Call TestDOSGetVolLabel
  566.       Case 194
  567.          Call TestAddTwoTimes
  568.       Case 195
  569.          Call TestMDA(True)
  570.       Case 196
  571.          Call TestMDA(False)
  572.       Case 197
  573.          Call TestMDA(1)
  574.       Case 198
  575.          Call TestMDA(2)
  576.       Case 199
  577.          Call TestMDA(3)
  578.       Case 200
  579.          Call TestMDA(4)
  580.       Case 201
  581.          Call TestMDA(5)
  582.       Case 202
  583.          Call TestMDA(6)
  584.       Case 203
  585.          Call TestDate
  586.       Case 204
  587.          Call TestVersion
  588.       Case 205
  589.          Call TestGetInR
  590.       Case 206
  591.          Call TestBigString01
  592.       Case 207
  593.          Call TestHMAStr(True)
  594.       Case 208
  595.          Call TestHMAL(True)
  596.       Case 209
  597.          Call TestHMAType(True)
  598.       Case 210
  599.          Call TestHMAStr(1)
  600.       Case 211
  601.          Call TestHMAL(1)
  602.       Case 212
  603.          Call TestHMAType(1)
  604.       Case 213
  605.          Call TestHMAStr(2)
  606.       Case 214
  607.          Call TestHMAL(2)
  608.       Case 215
  609.          Call TestHMAType(2)
  610.       Case 216
  611.          Call TestHMAStr(3)
  612.       Case 217
  613.          Call TestHMAL(3)
  614.       Case 218
  615.          Call TestHMAType(3)
  616.       Case 219
  617.          Call TestHMAStr(4)
  618.       Case 220
  619.          Call TestHMAL(4)
  620.       Case 221
  621.          Call TestHMAType(4)
  622.       Case 222
  623.          Call TestHMAStr(5)
  624.       Case 223
  625.          Call TestHMAL(5)
  626.       Case 224
  627.          Call TestHMAType(5)
  628.       Case 225
  629.          Call TestHMAStr(6)
  630.       Case 226
  631.          Call TestHMAL(6)
  632.       Case 227
  633.          Call TestHMAType(6)
  634.       Case 228
  635.          Frame1.Visible = True
  636.          Call TestArrayLB
  637.       Case 229
  638.          Call TestTime
  639.       Case 230
  640.          Call TestControl3D
  641.       Case 231
  642.          Call TestFileChangeChars
  643.       Case 232
  644.          Call TestFilesInfoInDir
  645.       Case 233
  646.          Call TestRcsCountFileDir
  647.       Case 234
  648.          Frame1.Visible = True
  649.          Call TestFilesInDirOnDisk
  650.       Case 235
  651.          Frame1.Visible = True
  652.          Call TestFilesInDirToArray
  653.       Case 236
  654.          Call TestRcsFilesSize
  655.       Case 237
  656.          Call TestMnuLanguage
  657.       Case 238
  658.          Call TestSpellMoney
  659.       Case 239
  660.          Call TestFraction
  661.       Case 240
  662.          Call TestRndX
  663.       Case 241
  664.          Call TestStringSAR
  665.       Case 242
  666.          Call TestTruncatePath
  667.       Case 243
  668.          Call TestSysMenuChange(LNG_CATALAN)
  669.          Call TestLanguage
  670.          SendKeys "% "
  671.       Case 244
  672.          Call TestSysMenuChange(LNG_POLISH)
  673.          Call TestLanguage
  674.          SendKeys "% "
  675.       Case 245
  676.          Frame1.Visible = True
  677.          Call TestCountI
  678.       Case 246
  679.          Frame1.Visible = True
  680.          Call TestSearchI
  681.       Case 247
  682.          Call TestHexaToX
  683.       Case 248
  684.          Call TestBinaryToX
  685.    End Select
  686.    MousePointer = 0
  687.    Flag = False
  688.    cEnableFI Picture1
  689. End Sub
  690. Private Sub CreateFile()
  691.    Dim j       As Integer
  692.    j = cFileResetAllAttrib("TEST.DAT")
  693.    Close #1
  694.    Open "TEST.DAT" For Output As #1
  695.    Print #1, "This is a file test for t2win-16.dll"
  696.    Print #1, "This is a file test for t2win-16.dll"
  697.    Print #1, "This is a file test for t2win-16.dll"
  698.    Print #1, "This is a file test for t2win-16.dll"
  699.    Print #1, "This is a file test for t2win-16.dll"
  700.    Print #1, "This is a file test for t2win-16.dll"
  701.    Print #1, "This is a file test for t2win-16.dll"
  702.    Close #1
  703.    j = cFileResetAllAttrib("TEST.DAT")
  704. End Sub
  705. Private Sub DefCnv()
  706.    Dim i       As Integer
  707.    Dim j       As Integer
  708.    Dim Tmp     As String
  709.    Close #1
  710.    Open "c:\tmp\tmp1.Tmp" For Input Shared As #1
  711.    Close #2
  712.    Open "c:\tmp\tmp.Tmp" For Output Shared As #2
  713.    i = 0
  714.    While Not EOF(1)
  715.       Line Input #1, Tmp
  716.       i = i + 1
  717.       Tmp = cCompress(Tmp)
  718.       Print #2, Tab(10); cGetIn(Tmp, "@", 1);
  719.       Print #2, Tab(60); "@" & i
  720.    Wend
  721.    Close #1
  722.    Close #2
  723. End Sub
  724. Private Sub Form_Load()
  725.    Combo2.AddItem "1"
  726.    Combo2.AddItem "5"
  727.    Combo2.AddItem "10"
  728.    Combo2.AddItem "50"
  729.    Combo2.AddItem "100"
  730.    Combo2.AddItem "500"
  731.    Combo2.AddItem "1000"
  732.    Combo2.AddItem "5000"
  733.    Combo1.AddItem "Array routines : Add"
  734.    Combo1.AddItem "Array routines : Deviation"
  735.    Combo1.AddItem "Array routines : Fill"
  736.    Combo1.AddItem "Array routines : Max"
  737.    Combo1.AddItem "Array routines : Mean"
  738.    Combo1.AddItem "Array routines : Min"
  739.    Combo1.AddItem "Array routines : Set"
  740.    Combo1.AddItem "Array routines : Sum"
  741.    Combo1.AddItem "Array routines : Sort"
  742.    Combo1.AddItem "Array routines : ReverseSort"
  743.    Combo1.AddItem "Time routines : AddTime"
  744.    Combo1.AddItem "Time routines : TimeBetween"
  745.    Combo1.AddItem "Time routines : CheckTime"
  746.    Combo1.AddItem "Time routines : HourTo"
  747.    Combo1.AddItem "WIN.INI routines : some separators"
  748.    Combo1.AddItem "WIN.INI routines : devices"
  749.    Combo1.AddItem "WIN.INI routines : printerports"
  750.    Combo1.AddItem "WIN.INI routines : winsection (windows section)"
  751.    Combo1.AddItem "Files routines : AllSubDirectories"
  752.    Combo1.AddItem "Files routines : GetDriveCurrentDir"
  753.    Combo1.AddItem "Files routines : GetDefaultCurrentDir"
  754.    Combo1.AddItem "Files routines : ChDir"
  755.    Combo1.AddItem "Files routines : CountFiles"
  756.    Combo1.AddItem "Files routines : CountDirectories"
  757.    Combo1.AddItem "Files routines : KillFiles"
  758.    Combo1.AddItem "Files routines : GetFullnameInEnv"
  759.    Combo1.AddItem "Files routines : GetDiskSpace"
  760.    Combo1.AddItem "Files routines : GetDiskUsed"
  761.    Combo1.AddItem "Files routines : GetDiskFree"
  762.    Combo1.AddItem "Files routines : KillDir"
  763.    Combo1.AddItem "Files routines : RenameFile"
  764.    Combo1.AddItem "Files routines : FileResetAllAttrib"
  765.    Combo1.AddItem "Files routines : FileSetAllAttrib"
  766.    Combo1.AddItem "Files routines : IsFileX"
  767.    Combo1.AddItem "Files routines : SubDirectory"
  768.    Combo1.AddItem "Files routines : UniqueFileName"
  769.    Combo1.AddItem "String routines : IsX"
  770.    Combo1.AddItem "String routines : OneCharFromLeft"
  771.    Combo1.AddItem "String routines : OneCharFromRight"
  772.    Combo1.AddItem "String routines : BlockCharFromLeft"
  773.    Combo1.AddItem "String routines : BlockCharFromRight"
  774.    Combo1.AddItem "String routines : Compact"
  775.    Combo1.AddItem "String routines : Uncompact"
  776.    Combo1.AddItem "String routines : InsertChars"
  777.    Combo1.AddItem "String routines : RemoveBlockChar"
  778.    Combo1.AddItem "String routines : RemoveOneChar"
  779.    Combo1.AddItem "String routines : CompressTab"
  780.    Combo1.AddItem "String routines : ExpandTab"
  781.    Combo1.AddItem "String routines : GiveBitPalindrome"
  782.    Combo1.AddItem "String routines : IsBitPalindrome"
  783.    Combo1.AddItem "String routines : InsertBlocksBy"
  784.    Combo1.AddItem "String routines : InsertBlocks"
  785.    Combo1.AddItem "String routines : ResizeStringAndFill"
  786.    Combo1.AddItem "String routines : ResizeString"
  787.    Combo1.AddItem "String routines : FilterBlocks"
  788.    Combo1.AddItem "String routines : FilterChars"
  789.    Combo1.AddItem "String routines : CheckChars"
  790.    Combo1.AddItem "String routines : ChangeChars"
  791.    Combo1.AddItem "String routines : ChangeCharsUntil"
  792.    Combo1.AddItem "String routines : Reverse"
  793.    Combo1.AddItem "String routines : GetIn"
  794.    Combo1.AddItem "String routines : GetBlock"
  795.    Combo1.AddItem "String routines : CreateAndFill"
  796.    Combo1.AddItem "String routines : StringCRC32"
  797.    Combo1.AddItem "String routines : Compress"
  798.    Combo1.AddItem "String routines : Encrypt"
  799.    Combo1.AddItem "String routines : Decrypt"
  800.    Combo1.AddItem "Files  routines : FileCRC32"
  801.    Combo1.AddItem "String routines : Lrc"
  802.    Combo1.AddItem "String routines : IsPalindrome"
  803.    Combo1.AddItem "String routines : CheckNumericity"
  804.    Combo1.AddItem "String routines : Fill"
  805.    Combo1.AddItem "String routines : SetAllBits"
  806.    Combo1.AddItem "String routines : SetBit"
  807.    Combo1.AddItem "String routines : GetBit"
  808.    Combo1.AddItem "String routines : FindBitSet"
  809.    Combo1.AddItem "String routines : FindBitReset"
  810.    Combo1.AddItem "String routines : ToggleBit"
  811.    Combo1.AddItem "String routines : ToggleAllBits"
  812.    Combo1.AddItem "String routines : ReverseAllBits"
  813.    Combo1.AddItem "String routines : ReverseAllBitsByChar"
  814.    Combo1.AddItem "String routines : CreateBits"
  815.    Combo1.AddItem "String routines : ArabicToRoman"
  816.    Combo1.AddItem "String routines : RomanToArabic"
  817.    Combo1.AddItem "Custom controls"
  818.    Combo1.AddItem "Swap routines"
  819.    Combo1.AddItem "Min,Max routines"
  820.    Combo1.AddItem "System menu change : French"
  821.    Combo1.AddItem "Files routines : FilesSize, FilesSizeOnDisk, FilesSlack"
  822.    Combo1.AddItem "Files routines : GetClusterSize"
  823.    Combo1.AddItem "Language routines : GetAscTime"
  824.    Combo1.AddItem "Language routines : Days and months name"
  825.    Combo1.AddItem "Language routines : Read Control Language"
  826.    Combo1.AddItem "File routines : Compare"
  827.    Combo1.AddItem "File routines : File Copy"
  828.    Combo1.AddItem "File routines : File Filter"
  829.    Combo1.AddItem "File routines : File Filter Not"
  830.    Combo1.AddItem "File routines : File Encrypt/Decrypt"
  831.    Combo1.AddItem "File routines : File Compress/Expand Tab"
  832.    Combo1.AddItem "File routines : SplitPath"
  833.    Combo1.AddItem "File routines : FullPath"
  834.    Combo1.AddItem "File routines : MakePath"
  835.    Combo1.AddItem "Language routines : Multi-Language & TimeOut Message Box"
  836.    Combo1.AddItem "Language routines : Multi-Language Input Box"
  837.    Combo1.AddItem "String routines : MixChars"
  838.    Combo1.AddItem "Windows Specific Routines : FileVersionInfo"
  839.    Combo1.AddItem "Windows Specific Routines : FileVersion"
  840.    Combo1.AddItem "File routines : FileLineCount"
  841.    Combo1.AddItem "File routines : FileToLower/FileToUpper"
  842.    Combo1.AddItem "Misc. routines : Big Double"
  843.    Combo1.AddItem "Misc. routines : Big Numbers"
  844.    Combo1.AddItem "System menu change (one call) : French"
  845.    Combo1.AddItem "System menu change (one call) : Dutch"
  846.    Combo1.AddItem "System menu change (one call) : German"
  847.    Combo1.AddItem "System menu change (one call) : English"
  848.    Combo1.AddItem "System menu change (one call) : Italian"
  849.    Combo1.AddItem "System menu change (one call) : Spanish"
  850.    Combo1.AddItem "File routines : FileMerge"
  851.    Combo1.AddItem "File routines : FileSearchAndReplace"
  852.    Combo1.AddItem "File routines : FileSearch, FileSearchCount"
  853.    Combo1.AddItem "String routines : PatternMatch"
  854.    Combo1.AddItem "String routines : PatternExtMatch"
  855.    Combo1.AddItem "Misc. routines : Morse"
  856.    Combo1.AddItem "DOS routines : GetDriveType"
  857.    Combo1.AddItem "Misc. routines : Base conversion"
  858.    Combo1.AddItem "File routines : FileStatistics"
  859.    Combo1.AddItem "Disk Array routines : (create) String"
  860.    Combo1.AddItem "Disk Array routines : (create) Long"
  861.    Combo1.AddItem "Disk Array routines : (create) Type'd (b.e. : tagTASKENTRY)"
  862.    Combo1.AddItem "Disk Array routines : (use) String"
  863.    Combo1.AddItem "Disk Array routines : (use) Long"
  864.    Combo1.AddItem "Disk Array routines : (use) Type'd (b.e. : tagTASKENTRY)"
  865.    Combo1.AddItem "Disk Array routines : (clear) String"
  866.    Combo1.AddItem "Disk Array routines : (clear) Long"
  867.    Combo1.AddItem "Disk Array routines : (clear) Type'd (b.e. : tagTASKENTRY)"
  868.    Combo1.AddItem "Disk Array routines : (clear sheet 2) String"
  869.    Combo1.AddItem "Disk Array routines : (clear sheet 2) Long"
  870.    Combo1.AddItem "Disk Array routines : (clear sheet 2) Type'd (b.e. : tagTASKENTRY)"
  871.    Combo1.AddItem "Disk Array routines : (clear last row in sheet 1) String"
  872.    Combo1.AddItem "Disk Array routines : (clear last row in sheet 1) Long"
  873.    Combo1.AddItem "Disk Array routines : (clear last row in sheet 1) Type'd (b.e. : tagTASKENTRY)"
  874.    Combo1.AddItem "Disk Array routines : (clear last col in sheet 1) String"
  875.    Combo1.AddItem "Disk Array routines : (clear last col in sheet 1) Long"
  876.    Combo1.AddItem "Disk Array routines : (clear last col in sheet 1) Type'd (b.e. : tagTASKENTRY)"
  877.    Combo1.AddItem "Disk Array routines : (clear last row in all sheets) String"
  878.    Combo1.AddItem "Disk Array routines : (clear last row in all sheets) Long"
  879.    Combo1.AddItem "Disk Array routines : (clear last row in all sheets) Type'd (b.e. : tagTASKENTRY)"
  880.    Combo1.AddItem "Disk Array routines : (clear last col in all sheets) String"
  881.    Combo1.AddItem "Disk Array routines : (clear last col in all sheets) Long"
  882.    Combo1.AddItem "Disk Array routines : (clear last col in all sheets) Type'd (b.e. : tagTASKENTRY)"
  883.    Combo1.AddItem "VB Management routines : CloseAllEditForm"
  884.    Combo1.AddItem "VB Management routines : HideAllEditForm, UnHideAllEditForm"
  885.    Combo1.AddItem "VB Management routines : HideDebugForm, UnHideDebugForm"
  886.    Combo1.AddItem "String routines : OrToken, OrTokenIn"
  887.    Combo1.AddItem "String routines : AndToken, AndTokenIn"
  888.    Combo1.AddItem "Windows Specific Routines : WalkThruWindow"
  889.    Combo1.AddItem "Serialization : IsSerial, SerialGet, SerialPut, SerialInc"
  890.    Combo1.AddItem "Timer functions : Extended Timer"
  891.    Combo1.AddItem "String routines : Align"
  892.    Combo1.AddItem "String routines : Token"
  893.    Combo1.AddItem "Array routines : ArrayOnDisk"
  894.    Combo1.AddItem "Array routines : ArrayStringOnDisk"
  895.    Combo1.AddItem "String routines : cCnvASCIItoEBCDIC, cCnvEBCDICtoASCII"
  896.    Combo1.AddItem "Misc. routines : Combination C(n,m)"
  897.    Combo1.AddItem "File routines : FileSort (ASC and CS) (record ended with cr/lf)"
  898.    Combo1.AddItem "File routines : FileSort (DSC and CS) (record ended with cr/lf)"
  899.    Combo1.AddItem "File routines : FileSort (ASC and NS) (record ended with cr/lf)"
  900.    Combo1.AddItem "File routines : FileSort (DSC and NS) (record ended with cr/lf)"
  901.    Combo1.AddItem "File routines : FileSort (ASC and CS) (record size 3)"
  902.    Combo1.AddItem "File routines : FileSort (DSC and CS) (record size 3)"
  903.    Combo1.AddItem "File routines : FileSort (ASC and NS) (record size 3)"
  904.    Combo1.AddItem "File routines : FileSort (DSC and NS) (record size 3)"
  905.    Combo1.AddItem "Misc. routines : RegistrationKey"
  906.    Combo1.AddItem "Misc. routines : HashMD5"
  907.    Combo1.AddItem "String routines : ProperName"
  908.    Combo1.AddItem "Matrix routines : MatrixAdd"
  909.    Combo1.AddItem "Matrix routines : MatrixSub"
  910.    Combo1.AddItem "Matrix routines : MatrixCopy"
  911.    Combo1.AddItem "Matrix routines : MatrixMul"
  912.    Combo1.AddItem "Matrix routines : MatrixTranspose"
  913.    Combo1.AddItem "Matrix routines : MatrixCompare"
  914.    Combo1.AddItem "2-D geometry"
  915.    Combo1.AddItem "3-D geometry"
  916.    Combo1.AddItem "String routines : ProperName2"
  917.    Combo1.AddItem "DOS routines : DOSMediaID"
  918.    Combo1.AddItem "File routines : File Compress/Expand"
  919.    Combo1.AddItem "String routines : String Compress/Expand"
  920.    Combo1.AddItem "Array routines : FillIncrI"
  921.    Combo1.AddItem "Matrix routines : MatrixDet"
  922.    Combo1.AddItem "Matrix routines : MatrixInv"
  923.    Combo1.AddItem "Matrix routines : MatrixMinor,MatrixCoFactor"
  924.    Combo1.AddItem "Matrix routines : MatrixSymToeplitz"
  925.    Combo1.AddItem "DOS routines : FloppyInfo"
  926.    Combo1.AddItem "DOS routines : DOSGetVolumeLabel"
  927.    Combo1.AddItem "Time routines : AddTwoTimes"
  928.    Combo1.AddItem "Multiple Disk Array routines : (create)"
  929.    Combo1.AddItem "Multiple Disk Array routines : (use)"
  930.    Combo1.AddItem "Multiple Disk Array routines : (clear)"
  931.    Combo1.AddItem "Multiple Disk Array routines : (clear sheet 2)"
  932.    Combo1.AddItem "Multiple Disk Array routines : (clear last row in sheet 1)"
  933.    Combo1.AddItem "Multiple Disk Array routines : (clear last col in sheet 1)"
  934.    Combo1.AddItem "Multiple Disk Array routines : (clear last row in all sheets)"
  935.    Combo1.AddItem "Multiple Disk Array routines : (clear last col in all sheets)"
  936.    Combo1.AddItem "Date routines : DayOfWeek, DayOfYear, WeekOfYear, ..."
  937.    Combo1.AddItem "Misc. routines : GetVersion"
  938.    Combo1.AddItem "String routines : GetInR, GetInPart, GetInPartR"
  939.    Combo1.AddItem "Huge String"
  940.    Combo1.AddItem "Huge Memory Array : (create) String"
  941.    Combo1.AddItem "Huge Memory Array : (create) Long"
  942.    Combo1.AddItem "Huge Memory Array : (create) Type'd (b.e. : tagTASKENTRY)"
  943.    Combo1.AddItem "Huge Memory Array : (clear) String"
  944.    Combo1.AddItem "Huge Memory Array : (clear) Long"
  945.    Combo1.AddItem "Huge Memory Array : (clear) Type'd (b.e. : tagTASKENTRY)"
  946.    Combo1.AddItem "Huge Memory Array : (clear sheet 2) String"
  947.    Combo1.AddItem "Huge Memory Array : (clear sheet 2) Long"
  948.    Combo1.AddItem "Huge Memory Array : (clear sheet 2) Type'd (b.e. : tagTASKENTRY)"
  949.    Combo1.AddItem "Huge Memory Array : (clear last row in sheet 1) String"
  950.    Combo1.AddItem "Huge Memory Array : (clear last row in sheet 1) Long"
  951.    Combo1.AddItem "Huge Memory Array : (clear last row in sheet 1) Type'd (b.e. : tagTASKENTRY)"
  952.    Combo1.AddItem "Huge Memory Array : (clear last col in sheet 1) String"
  953.    Combo1.AddItem "Huge Memory Array : (clear last col in sheet 1) Long"
  954.    Combo1.AddItem "Huge Memory Array : (clear last col in sheet 1) Type'd (b.e. : tagTASKENTRY)"
  955.    Combo1.AddItem "Huge Memory Array : (clear last row in all sheets) String"
  956.    Combo1.AddItem "Huge Memory Array : (clear last row in all sheets) Long"
  957.    Combo1.AddItem "Huge Memory Array : (clear last row in all sheets) Type'd (b.e. : tagTASKENTRY)"
  958.    Combo1.AddItem "Huge Memory Array : (clear last col in all sheets) String"
  959.    Combo1.AddItem "Huge Memory Array : (clear last col in all sheets) Long"
  960.    Combo1.AddItem "Huge Memory Array : (clear last col in all sheets) Type'd (b.e. : tagTASKENTRY)"
  961.    Combo1.AddItem "Array routines : ArrayToListBox"
  962.    Combo1.AddItem "Time routines : TimeToScalar, ScalarToTime"
  963.    Combo1.AddItem "3D routines : Ctl3D, 3D, GetCtlRect, GetCtlRectTwips"
  964.    Combo1.AddItem "File routines : FileChangeChars"
  965.    Combo1.AddItem "File routines : FilesInfoInDir"
  966.    Combo1.AddItem "File routines : RcsCountFileDir"
  967.    Combo1.AddItem "File routines : FilesInDirOnDisk"
  968.    Combo1.AddItem "File routines : FilesInDirToArray"
  969.    Combo1.AddItem "Files routines : rcsFilesSize, rcsFilesSizeOnDisk, rcsFilesSlack"
  970.    Combo1.AddItem "Language routines : Read Menu Language"
  971.    Combo1.AddItem "String routines : SpellMoney"
  972.    Combo1.AddItem "Misc. routines : Fraction"
  973.    Combo1.AddItem "Misc. routines : Rndx"
  974.    Combo1.AddItem "String routines : StringSAR"
  975.    Combo1.AddItem "File routines : TruncatePath"
  976.    Combo1.AddItem "System menu change (one call) : Catalan"
  977.    Combo1.AddItem "System menu change (one call) : Polish"
  978.    Combo1.AddItem "Array routines : Count"
  979.    Combo1.AddItem "Array routines : Search"
  980.    Combo1.AddItem "String routines : H2I, H2L"
  981.    Combo1.AddItem "String routines : B2I, B2L"
  982.    Combo1.ListIndex = Combo1.ListCount - 1
  983.    Combo2.ListIndex = 2
  984.    Item = Val(Combo2.Text)
  985.    ItemFile = Val(Combo2.Text)
  986.    ItemMean = Val(Combo2.Text)
  987.    Text1.Text = "A/BC/DEF/GHIJ"
  988. End Sub
  989. Private Sub Form_Paint()
  990.    'Dim i As Integer
  991.    'Dim N As Integer
  992.    'N = frmT2W.Controls.Count - 1
  993.    'For i = 0 To N
  994.    '   If ((frmT2W.Controls(i).Visible = True) And (frmT2W.Controls(i).Enabled = True)) Then
  995.    '      Call c3D(frmT2W.Controls(i), 0, 0)
  996.    '   End If
  997.    'Next i
  998. End Sub
  999. Private Sub Form_Unload(Cancel As Integer)
  1000.    Call cShowWindow(frmT2W.hWnd, 1, 125)
  1001. End Sub
  1002. Private Sub Label2_DblClick()
  1003.    Dim i       As Integer
  1004.    Dim N       As Integer
  1005.    N = Combo1.ListCount - 1
  1006.    For i = 0 To N
  1007.       Combo1.ListIndex = i
  1008.       DoEvents
  1009.       Call Command1_Click
  1010.       DoEvents
  1011.    Next i
  1012. End Sub
  1013. Private Sub Test2D()
  1014.    Dim Tmp1       As String
  1015.    Dim i          As Integer
  1016.    Dim j          As Integer
  1017.    Dim k          As Double
  1018.    Dim u          As tagVECTOR2
  1019.    Dim v          As tagVECTOR2
  1020.    Dim w          As tagVECTOR2
  1021.    u.x = 1
  1022.    u.y = 1
  1023.    v.x = 3
  1024.    v.y = 3
  1025.    Tmp1 = Tmp1 & "First vector (u) is (" & u.x & "," & u.y & ")" & Chr$(13) & Chr$(13)
  1026.    Tmp1 = Tmp1 & "Second vector (v) is (" & v.x & "," & v.y & ")" & Chr$(13) & Chr$(13)
  1027.    Call cV2Add(u, v, w)
  1028.    Tmp1 = Tmp1 & "Sum of (u)+(v) = (w) is (" & w.x & "," & w.y & ")" & Chr$(13) & Chr$(13)
  1029.    Call cV2Sub(u, v, w)
  1030.    Tmp1 = Tmp1 & "Sub of (u)-(v) = (w) is (" & w.x & "," & w.y & ")" & Chr$(13) & Chr$(13)
  1031.    Call cV2Mul(u, v, w)
  1032.    Tmp1 = Tmp1 & "Mul of (u).(v) = (w) is (" & w.x & "," & w.y & ")" & Chr$(13) & Chr$(13)
  1033.    k = cV2Dot(u, v)
  1034.    Tmp1 = Tmp1 & "Dot of (u),(v) is " & k & Chr$(13) & Chr$(13)
  1035.    k = cV2Length(v)
  1036.    Tmp1 = Tmp1 & "Length (v) is " & k & Chr$(13) & Chr$(13)
  1037.    k = cV2SegmentLength(u, v)
  1038.    Tmp1 = Tmp1 & "Segmented Length from (u) to (v) is " & k & Chr$(13) & Chr$(13)
  1039.    Call cV2Normalized(u)
  1040.    Tmp1 = Tmp1 & "Normalization of (u) is (" & u.x & "," & u.y & ")" & Chr$(13) & Chr$(13)
  1041.               
  1042.    cStartBasisTimer
  1043.    For i = 1 To ItemFile
  1044.       Call cV2Add(u, v, w)
  1045.    Next i
  1046.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  1047.    Label3.Caption = Tmp1
  1048. End Sub
  1049. Private Sub Test3D()
  1050.    Dim Tmp1       As String
  1051.    Dim i          As Integer
  1052.    Dim j          As Integer
  1053.    Dim k          As Double
  1054.    Dim u          As tagVECTOR3
  1055.    Dim v          As tagVECTOR3
  1056.    Dim w          As tagVECTOR3
  1057.    u.x = 1
  1058.    u.y = 1
  1059.    u.z = 1
  1060.    v.x = 3
  1061.    v.y = 3
  1062.    v.z = 3
  1063.    Tmp1 = Tmp1 & "First vector (u) is (" & u.x & "," & u.y & "," & u.z & ")" & Chr$(13) & Chr$(13)
  1064.    Tmp1 = Tmp1 & "Second vector (v) is (" & v.x & "," & v.y & "," & v.z & ")" & Chr$(13) & Chr$(13)
  1065.    Call cV3Add(u, v, w)
  1066.    Tmp1 = Tmp1 & "Sum of (u)+(v) = (w) is (" & w.x & "," & w.y & "," & w.z & ")" & Chr$(13) & Chr$(13)
  1067.    Call cV3Sub(u, v, w)
  1068.    Tmp1 = Tmp1 & "Sub of (u)-(v) = (w) is (" & w.x & "," & w.y & "," & w.z & ")" & Chr$(13) & Chr$(13)
  1069.    Call cV3Mul(u, v, w)
  1070.    Tmp1 = Tmp1 & "Mul of (u).(v) = (w) is (" & w.x & "," & w.y & ")" & Chr$(13) & Chr$(13)
  1071.    k = cV3Dot(u, v)
  1072.    Tmp1 = Tmp1 & "Dot of (u),(v) is " & k & Chr$(13) & Chr$(13)
  1073.    k = cV3Length(v)
  1074.    Tmp1 = Tmp1 & "Length (v) is " & k & Chr$(13) & Chr$(13)
  1075.    k = cV3SegmentLength(u, v)
  1076.    Tmp1 = Tmp1 & "Segmented Length from (u) to (v) is " & k & Chr$(13) & Chr$(13)
  1077.    Call cV3Normalized(u)
  1078.    Tmp1 = Tmp1 & "Normalization of (u) is (" & u.x & "," & u.y & "," & u.z & ")" & Chr$(13) & Chr$(13)
  1079.               
  1080.    cStartBasisTimer
  1081.    For i = 1 To ItemFile
  1082.       Call cV3Add(u, v, w)
  1083.    Next i
  1084.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  1085.    Label3.Caption = Tmp1
  1086. End Sub
  1087. Private Sub TestAddI()
  1088.    Dim Title      As String
  1089.    Dim Tmp        As String
  1090.    Dim Tmp1       As String
  1091.    Dim Tmp2       As String
  1092.    Dim i          As Integer
  1093.    Dim j          As Integer
  1094.    Dim m          As Double
  1095.    ReDim array(ItemMean) As Integer
  1096.    Randomize Timer
  1097.    For i = LBound(array) To UBound(array)
  1098.       array(i) = 0
  1099.       List1.AddItem "" & array(i)
  1100.    Next i
  1101.    j = cAddI(array(), 10)
  1102.    For i = LBound(array) To UBound(array)
  1103.       List2.AddItem "" & array(i)
  1104.    Next i
  1105.    Tmp1 = Tmp1 & "Add 10 to element 1 of an integer array is : " & array(1) & Chr$(13) & Chr$(13)
  1106.    Tmp1 = Tmp1 & "Add 10 to element " & ItemMean & " of an integer array is : " & array(ItemMean) & Chr$(13) & Chr$(13)
  1107.    cStartBasisTimer
  1108.    For i = 1 To ItemFile
  1109.       j = cAddI(array(), 1)
  1110.    Next i
  1111.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  1112.    Label3.Caption = Tmp1
  1113. End Sub
  1114. Private Sub TestAddTime()
  1115.    Dim Title      As String
  1116.    Dim Tmp        As String
  1117.    Dim Tmp1       As String
  1118.    Dim Tmp2       As String
  1119.    Dim i          As Integer
  1120.    Dim j          As Integer
  1121.    Tmp1 = "The time 10:00 + 02:01 is " & cIntoHour(cAddTime(600 + 121)) & Chr$(13) & Chr$(13)
  1122.    Tmp1 = Tmp1 & "The time 23:58 + 01:02 is " & cIntoHour(cAddTime(1438 + 62)) & Chr$(13) & Chr$(13)
  1123.    cStartBasisTimer
  1124.    For i = 1 To Item
  1125.       j = cAddTime(1439 + 2)
  1126.    Next i
  1127.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1128.    Label3.Caption = Tmp1
  1129. End Sub
  1130. Private Sub TestAddTwoTimes()
  1131.    Dim Title      As String
  1132.    Dim Tmp        As String
  1133.    Dim Tmp1       As String
  1134.    Dim Tmp2       As String
  1135.    Dim i          As Integer
  1136.    Dim j          As Integer
  1137.    Tmp1 = "The time '10:00:58' + '02:01:02' is '" & cAddTwoTimes("10:00:58", "02:01:02") & "'" & Chr$(13) & Chr$(13)
  1138.    Tmp1 = Tmp1 & "The time '23:58:58' + '01:02:01' is '" & cAddTwoTimes("23:58:58", "01:02:01") & "'" & Chr$(13) & Chr$(13)
  1139.    cStartBasisTimer
  1140.    For i = 1 To Item
  1141.       Tmp2 = cAddTwoTimes("23:58:58", "01:02:01")
  1142.    Next i
  1143.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1144.    Label3.Caption = Tmp1
  1145. End Sub
  1146. Private Sub TestAlign()
  1147.    Dim Title      As String
  1148.    Dim Tmp        As String
  1149.    Dim Tmp1       As String
  1150.    Dim Tmp2       As String
  1151.    Dim i          As Integer
  1152.    Dim j          As Integer
  1153.    Tmp = "T2WIN-16"
  1154.    Title = "Left Align of [" & Tmp & "] is " & Chr$(13) & "'"
  1155.    Tmp1 = Title & cAlign(Tmp, -1, 30) & "'" & Chr$(13) & Chr$(13)
  1156.    Title = "Center Align of [" & Tmp & "] is " & Chr$(13) & "'"
  1157.    Tmp1 = Tmp1 & Title & cAlign(Tmp, 0, 30) & "'" & Chr$(13) & Chr$(13)
  1158.    Title = "Right Align of [" & Tmp & "] is " & Chr$(13) & "'"
  1159.    Tmp1 = Tmp1 & Title & cAlign(Tmp, 1, 30) & "'" & Chr$(13) & Chr$(13)
  1160.    j = cTimerOpen()
  1161.    i = cTimerStart(j)
  1162.    For i = 1 To Item
  1163.       Tmp2 = cAlign(Tmp, 0, 30)
  1164.    Next i
  1165.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cTimerRead(j) & " ms"
  1166.    i = cTimerClose(j)
  1167.    Label3.Caption = Tmp1
  1168. End Sub
  1169. Private Sub TestAllSubDir()
  1170.    Dim N       As Integer
  1171.    Dim Tmp     As String
  1172.    N = -1
  1173.    Tmp = cAllSubDirectories("C:", N)
  1174.    Label3.Caption = "Directories founden on drive C are " & N & Chr$(13) & Tmp
  1175. End Sub
  1176. Private Sub TestAndToken()
  1177.    Dim Title      As String
  1178.    Dim Tmp        As String
  1179.    Dim Tmp1       As String
  1180.    Dim Tmp2       As String
  1181.    Dim i          As Integer
  1182.    Dim j          As Integer
  1183.    Tmp = "FOX|OVER|THE"
  1184.    Tmp2 = "THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG"
  1185.    Tmp1 = "All tokens '" & Tmp & "' in '" & Tmp2 & "' is " & IIf(cAndToken(Tmp2, Tmp), "ok", "ko") & Chr$(13) & Chr$(13)
  1186.    Tmp = "quick|jumps|the"
  1187.    Tmp2 = "THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG"
  1188.    Tmp1 = Tmp1 & "All tokens '" & Tmp & "' in '" & Tmp2 & "' is " & IIf(cAndToken(Tmp2, Tmp), "ok", "ko") & Chr$(13) & Chr$(13)
  1189.    Tmp = "FOX\OVER\THE"
  1190.    Tmp2 = "THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG"
  1191.    Tmp1 = Tmp1 & "All tokens '" & Tmp & "' in '" & Tmp2 & "' is " & IIf(cAndTokenIn(Tmp2, Tmp, "\"), "ok", "ko") & Chr$(13) & Chr$(13)
  1192.    Tmp = "quick\jumps\the"
  1193.    Tmp2 = "THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG"
  1194.    Tmp1 = Tmp1 & "All tokens '" & Tmp & "' in '" & Tmp2 & "' is " & IIf(cAndTokenIn(Tmp2, Tmp, "\"), "ok", "ko") & Chr$(13) & Chr$(13)
  1195.    Tmp = "FOX/OVER/THE"
  1196.    Tmp2 = "THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG"
  1197.    Tmp1 = Tmp1 & "All tokens '" & Tmp & "' in '" & Tmp2 & "' is " & IIf(cAndTokenIn(Tmp2, Tmp, "\"), "ok", "ko") & Chr$(13) & Chr$(13)
  1198.    Tmp = "quick\JUMPS\the"
  1199.    Tmp2 = "THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG"
  1200.    Tmp1 = Tmp1 & "All tokens '" & Tmp & "' in '" & Tmp2 & "' is " & IIf(cAndTokenIn(Tmp2, Tmp, "\"), "ok", "ko") & Chr$(13) & Chr$(13)
  1201.    Tmp = LCase$("quick\jumps\THE")
  1202.    Tmp2 = LCase$("THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG")
  1203.    Tmp1 = Tmp1 & "All tokens '" & Tmp & "' in '" & Tmp2 & "' is " & IIf(cAndTokenIn(Tmp2, Tmp, "\"), "ok", "ko") & Chr$(13) & Chr$(13)
  1204.    cStartBasisTimer
  1205.    For i = 1 To Item
  1206.       j = cAndToken(Tmp2, Tmp)
  1207.    Next i
  1208.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1209.    Label3.Caption = Tmp1
  1210. End Sub
  1211. Private Sub TestArrayLB()
  1212.    Dim Title      As String
  1213.    Dim Tmp        As String
  1214.    Dim Tmp1       As String
  1215.    Dim Tmp2       As String
  1216.    Dim i          As Long
  1217.    Dim j          As Long
  1218.    Dim n1         As Long
  1219.    Dim n2         As Long
  1220.    Dim m1         As Integer
  1221.    Dim m2         As Integer
  1222.    m1 = -99
  1223.    m2 = 99
  1224.    ReDim AD(m1 To m2) As String
  1225.    Randomize Timer
  1226.    ' initialization because we use ReDim without Global definition
  1227.    For i = m1 To m2
  1228.       If ((Abs(i) Mod 2) = 0) Then
  1229.          AD(i) = i & " " & Chr$(64 + Int(26 * Rnd)) + Chr$(64 + Int(26 * Rnd)) + Chr$(64 + Int(26 * Rnd))
  1230.       Else
  1231.          AD(i) = i & " " & Chr$(64 + Int(26 * Rnd)) + Chr$(64 + Int(26 * Rnd)) + Chr$(64 + Int(26 * Rnd)) + Chr$(64 + Int(26 * Rnd))
  1232.       End If
  1233.    Next i
  1234.    Tmp1 = "Memory array (" & m1 & " To " & m2 & ") has been created and initialized." & Chr$(13)
  1235.    j = cArrayToListBox(List1.hWnd, AD())
  1236.    j = cArrayToListBox(List2.hWnd, AD())
  1237.    List1.Clear
  1238.    cStartBasisTimer
  1239.    For i = 1 To Item
  1240.       j = cArrayToListBox(List1.hWnd, AD())
  1241.    Next i
  1242.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1243.    Label3.Caption = Tmp1
  1244. End Sub
  1245. Private Sub TestArrayOnDisk()
  1246.    Dim Title      As String
  1247.    Dim Tmp        As String
  1248.    Dim Tmp1       As String
  1249.    Dim Tmp2       As String
  1250.    Dim i          As Long
  1251.    Dim j          As Long
  1252.    Dim n1         As Long
  1253.    Dim n2         As Long
  1254.    Dim m1         As Integer
  1255.    Dim m2         As Integer
  1256.    m1 = -9999
  1257.    m2 = 9999
  1258.    ReDim AD(m1 To m2, 0 To 1) As Long
  1259.    Randomize Timer
  1260.    n1 = Int(1234567890 * Rnd)
  1261.    n2 = -Int(987654321 * Rnd)
  1262.    ' initialization because we use ReDim without Global definition
  1263.    For i = m1 To m2
  1264.       AD(i, 0) = n1
  1265.       AD(i, 1) = n2
  1266.    Next i
  1267.    Tmp = "test.dat"
  1268.    Tmp1 = "Memory array (" & m1 & " To " & m2 & ", 0 To 1) has been created and initialized." & Chr$(13)
  1269.    Tmp1 = Tmp1 + "File '" & Tmp & "' will be used." & Chr$(13)
  1270.    Tmp1 = Tmp1 + "Each (i,0) is init with '" & n1 & "'." & Chr$(13)
  1271.    Tmp1 = Tmp1 + "Each (i,1) is init with '" & n2 & "'." & Chr$(13) & Chr$(13)
  1272.    Tmp1 = Tmp1 + "AD(" & m1 & ", 0) is " & AD(m1, 0) & Chr$(13)
  1273.    Tmp1 = Tmp1 + "AD(" & m2 & ", 0) is " & AD(m2, 0) & Chr$(13)
  1274.    Tmp1 = Tmp1 + "AD(" & m1 & ", 1) is " & AD(m1, 1) & Chr$(13)
  1275.    Tmp1 = Tmp1 + "AD(" & m2 & ", 1) is " & AD(m2, 1) & Chr$(13) & Chr$(13)
  1276.    Tmp1 = Tmp1 + "Put array on disk is '" & cArrayOnDisk(Tmp, AD(), PUT_ARRAY_ON_DISK) & "' bytes." & Chr$(13) & Chr$(13)
  1277.    Tmp1 = Tmp1 + "Memory array (" & m1 & " To " & m2 & ", 0 To 1) has been zero'ed." & Chr$(13) & Chr$(13)
  1278.    For i = m1 To m2
  1279.       AD(i, 0) = 0
  1280.       AD(i, 1) = 0
  1281.    Next i
  1282.    Tmp1 = Tmp1 + "AD(" & m1 & ", 0) is " & AD(m1, 0) & Chr$(13)
  1283.    Tmp1 = Tmp1 + "AD(" & m2 & ", 0) is " & AD(m2, 0) & Chr$(13)
  1284.    Tmp1 = Tmp1 + "AD(" & m1 & ", 1) is " & AD(m1, 1) & Chr$(13)
  1285.    Tmp1 = Tmp1 + "AD(" & m2 & ", 1) is " & AD(m2, 1) & Chr$(13) & Chr$(13)
  1286.    Tmp1 = Tmp1 + "Get array on disk is '" & cArrayOnDisk(Tmp, AD(), GET_ARRAY_ON_DISK) & "' bytes." & Chr$(13) & Chr$(13)
  1287.    Tmp1 = Tmp1 + "AD(" & m1 & ", 0) is " & AD(m1, 0) & Chr$(13)
  1288.    Tmp1 = Tmp1 + "AD(" & m2 & ", 0) is " & AD(m2, 0) & Chr$(13)
  1289.    Tmp1 = Tmp1 + "AD(" & m1 & ", 1) is " & AD(m1, 1) & Chr$(13)
  1290.    Tmp1 = Tmp1 + "AD(" & m2 & ", 1) is " & AD(m2, 1) & Chr$(13) & Chr$(13)
  1291.    cStartBasisTimer
  1292.    For i = 1 To Item
  1293.       j = cArrayOnDisk(Tmp, AD(), GET_ARRAY_ON_DISK)
  1294.    Next i
  1295.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1296.    Label3.Caption = Tmp1
  1297. End Sub
  1298. Private Sub TestArrayStringOnDisk()
  1299.    Dim Title      As String
  1300.    Dim Tmp        As String
  1301.    Dim Tmp1       As String
  1302.    Dim Tmp2       As String
  1303.    Dim i          As Long
  1304.    Dim j          As Long
  1305.    Dim n1         As Long
  1306.    Dim n2         As Long
  1307.    Dim r          As Long
  1308.    Dim m1         As Integer
  1309.    Dim m2         As Integer
  1310.    m1 = -999
  1311.    m2 = 4000
  1312.    ReDim AD(m1 To m2) As String
  1313.    ' initialization because we use ReDim without Global definition
  1314.    'For i = m1 To m2
  1315.    '   AD(i) = Space$(256)
  1316.    'Next i
  1317.    Randomize Timer
  1318.    Tmp = "c:\autoexec.bat"
  1319.    Tmp2 = "c:\autoexec.tab"
  1320.    Tmp1 = "Reading file '" & Tmp & "' into AD(" & m1 & " To " & m2 & ") is '" & cArrayStringOnDisk(Tmp, AD(), GET_ARRAY_ON_DISK, r) & "'" & Chr$(13)
  1321.    Tmp1 = Tmp1 & "   The 7 (on " & r & ") first lines in array are : " & Chr$(13) & Chr$(13)
  1322.    For i = 0 To 6
  1323.       Tmp1 = Tmp1 & AD(m1 + i) & Chr$(13)
  1324.    Next i
  1325.    Tmp1 = Tmp1 & Chr$(13) & "Writing file '" & Tmp2 & "' from AD(" & m1 & " To " & m2 & ") is '" & cArrayStringOnDisk(Tmp2, AD(), PUT_ARRAY_ON_DISK, r) & "'" & Chr$(13) & Chr$(13)
  1326.    Tmp1 = Tmp1 & "Reading file '" & Tmp2 & "' into AD(" & m1 & " To " & m2 & ") is '" & cArrayStringOnDisk(Tmp2, AD(), GET_ARRAY_ON_DISK, r) & "'" & Chr$(13)
  1327.    Tmp1 = Tmp1 & "   The 7 (on " & r & ") first lines in array are : " & Chr$(13) & Chr$(13)
  1328.    For i = 0 To 6
  1329.       Tmp1 = Tmp1 & AD(m1 + i) & Chr$(13)
  1330.    Next i
  1331.    cStartBasisTimer
  1332.    For i = 1 To Item
  1333.       j = cArrayStringOnDisk(Tmp, AD(), GET_ARRAY_ON_DISK, r)
  1334.    Next i
  1335.    Tmp1 = Tmp1 & Chr$(13) & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1336.    Label3.Caption = Tmp1
  1337. End Sub
  1338. Private Sub TestAscTime()
  1339.    Dim Title      As String
  1340.    Dim Tmp        As String
  1341.    Dim Tmp1       As String
  1342.    Dim Tmp2       As String
  1343.    Dim i          As Integer
  1344.    Dim j          As Integer
  1345.    Dim k          As Long
  1346.    Dim ErrCode    As Integer
  1347.    Tmp1 = ""
  1348.    For i = LNG_FRENCH To LNG_POLISH
  1349.       Tmp1 = Tmp1 + cGetAscTime(i) & Chr$(13)
  1350.    Next i
  1351.    Tmp1 = Tmp1 + Chr$(13)
  1352.    cStartBasisTimer
  1353.    For i = 1 To Item
  1354.       Tmp = cGetAscTime(LNG_FRENCH)
  1355.    Next i
  1356.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1357.    Label3.Caption = Tmp1
  1358. End Sub
  1359. Private Sub TestAtoR()
  1360.    Dim Tmp        As Integer
  1361.    Dim Tmp1       As String
  1362.    Tmp = Year(Int(Now))
  1363.    Tmp1 = Tmp & " in Roman is " & UCase$(cArabicToRoman(Tmp)) & Chr$(13)
  1364.    Tmp = Year(Int(Now)) - 1
  1365.    Tmp1 = Tmp1 & Tmp & " in Roman is " & UCase$(cArabicToRoman(Tmp)) & Chr$(13)
  1366.    Tmp = Year(Int(Now)) + 1
  1367.    Tmp1 = Tmp1 & Tmp & " in Roman is " & UCase$(cArabicToRoman(Tmp)) & Chr$(13)
  1368.    Label3.Caption = Tmp1
  1369. End Sub
  1370. Private Sub TestBaseConversion()
  1371.    Dim Title      As String
  1372.    Dim Tmp        As String
  1373.    Dim Tmp1       As String
  1374.    Dim Tmp2       As String
  1375.    Dim i          As Integer
  1376.    Dim j          As Integer
  1377.    Dim k          As Long
  1378.    Dim ErrCode    As Integer
  1379.    Tmp1 = ""
  1380.    For i = 2 To 20
  1381.       Tmp1 = Tmp1 + "Convert '1234567' base 10 to base " & i & " is " & cBaseConversion("1234567", 10, i) & Chr$(13)
  1382.    Next i
  1383.    Tmp1 = Tmp1 + Chr$(13)
  1384.    cStartBasisTimer
  1385.    For i = 1 To Item
  1386.       Tmp = cBaseConversion("123456789", 10, 10)
  1387.    Next i
  1388.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1389.    Label3.Caption = Tmp1
  1390. End Sub
  1391. Private Sub TestBetween()
  1392.    Dim Title      As String
  1393.    Dim Tmp        As String
  1394.    Dim Tmp1       As String
  1395.    Dim Tmp2       As String
  1396.    Dim i          As Integer
  1397.    Dim j          As Integer
  1398.    Tmp1 = "601 is not between 720 and 840 => " & cBetween(601, 720, 840) & Chr$(13) & Chr$(13)
  1399.    Tmp1 = Tmp1 & "601 is between 540 and 602 => " & cBetween(601, 540, 602) & Chr$(13) & Chr$(13)
  1400.    Tmp1 = Tmp1 & "61 is between 61 and 62 => " & cBetween(61, 61, 62) & Chr$(13) & Chr$(13)
  1401.    cStartBasisTimer
  1402.    For i = 1 To Item
  1403.       j = cBetween(720, 0, 1439)
  1404.    Next i
  1405.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1406.    Label3.Caption = Tmp1
  1407. End Sub
  1408. Private Sub TestBig()
  1409.    Dim Title      As String
  1410.    Dim Tmp        As String
  1411.    Dim Tmp1       As String
  1412.    Dim Tmp2       As String
  1413.    Dim Tmp3       As String
  1414.    Dim i          As Integer
  1415.    Dim j          As Integer
  1416.    Dim m1         As Double
  1417.    Dim m2         As Double
  1418.    m1 = 123456789012345#
  1419.    m2 = 987654321098765#
  1420.    Tmp1 = Tmp1 & "Double     : Add '" & m1 & "' and '" & m2 & "' is '" & (m1 + m2) & "'" & Chr$(13)
  1421.    Tmp1 = Tmp1 & "Big Double : Add '" & m1 & "' and '" & m2 & "' is '" & cBigFmt(cBigAdd(cMKN(Str$(m1)), cMKN(Str$(m2))), 0) & "'" & Chr$(13)
  1422.    Tmp1 = Tmp1 & "Big Num    : Add '" & m1 & "' and '" & m2 & "' is '" & cBigNum(LTrim$(Str$(m1)), BIG_ADD, LTrim$(Str$(m2))) & "'" & Chr$(13) & Chr$(13)
  1423.    Tmp1 = Tmp1 & "Double     : Sub '" & m1 & "' and '" & m2 & "' is '" & (m1 - m2) & "'" & Chr$(13)
  1424.    Tmp1 = Tmp1 & "Big Double : Sub '" & m1 & "' and '" & m2 & "' is '" & cBigFmt(cBigSub(cMKN(Str$(m1)), cMKN(Str$(m2))), 0) & "'" & Chr$(13)
  1425.    Tmp1 = Tmp1 & "Big Num    : Sub '" & m1 & "' and '" & m2 & "' is '" & cBigNum(LTrim$(Str$(m1)), BIG_SUB, LTrim$(Str$(m2))) & "'" & Chr$(13) & Chr$(13)
  1426.    Tmp1 = Tmp1 & "Double     : Mul '" & m1 & "' and '" & m2 & "' is '" & (m1 * m2) & "'" & Chr$(13)
  1427.    Tmp1 = Tmp1 & "Big Double : Mul '" & m1 & "' and '" & m2 & "' is '" & cBigFmt(cBigMul(cMKN(Str$(m1)), cMKN(Str$(m2))), 0) & "'" & Chr$(13)
  1428.    Tmp1 = Tmp1 & "Big Num    : Mul '" & m1 & "' and '" & m2 & "' is '" & cBigNum(LTrim$(Str$(m1)), BIG_MUL, LTrim$(Str$(m2))) & "'" & Chr$(13) & Chr$(13)
  1429.    Tmp1 = Tmp1 & "Double     : Div '" & m1 & "' and '" & m2 & "' is '" & (m1 / m2) & "'" & Chr$(13)
  1430.    Tmp1 = Tmp1 & "Big Double : Div '" & m1 & "' and '" & m2 & "' is '" & cBigFmt(cBigDiv(cMKN(Str$(m1)), cMKN(Str$(m2))), 0) & "'" & Chr$(13) & Chr$(13)
  1431.    cStartBasisTimer
  1432.    For i = 1 To ItemFile
  1433.       Tmp3 = cBigAdd(cMKN(Str$(m1)), cMKN(Str$(m2)))
  1434.    Next i
  1435.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  1436.    Label3.Caption = Tmp1
  1437. End Sub
  1438. Private Sub TestBigNum()
  1439.    Dim Title      As String
  1440.    Dim Tmp        As String
  1441.    Dim Tmp1       As String
  1442.    Dim Tmp2       As String
  1443.    Dim Tmp3       As String
  1444.    Dim Tmp4       As String
  1445.    Dim i          As Integer
  1446.    Dim j          As Integer
  1447.    Dim m          As Double
  1448.    Tmp3 = "00001234567890123456789012345678901"
  1449.    Tmp4 = "00009876543210987654321098765432100"
  1450.    Tmp1 = Tmp1 & "X = " & Tmp3 & Chr$(13)
  1451.    Tmp1 = Tmp1 & "Y = " & Tmp4 & Chr$(13) & Chr$(13)
  1452.    Tmp = Tmp3
  1453.    Tmp2 = Tmp4
  1454.    Tmp1 = Tmp1 & "'(X) + (Y)' " & Space$(3) & " is '" & cBigNum(Tmp, BIG_ADD, Tmp2) & "'" & Chr$(13)
  1455.    Tmp = Tmp3
  1456.    Tmp2 = "-" & Tmp4
  1457.    Tmp1 = Tmp1 & "'(X) + (-Y)' " & Space$(3) & " is '" & cBigNum(Tmp, BIG_ADD, Tmp2) & "'" & Chr$(13)
  1458.    Tmp = "-" & Tmp3
  1459.    Tmp2 = Tmp4
  1460.    Tmp1 = Tmp1 & "'(-X) + (Y)' " & Space$(3) & " is '" & cBigNum(Tmp, BIG_ADD, Tmp2) & "'" & Chr$(13)
  1461.    Tmp = "-" & Tmp3
  1462.    Tmp2 = "-" & Tmp4
  1463.    Tmp1 = Tmp1 & "'(-X) + (-Y)' " & Space$(3) & " is '" & cBigNum(Tmp, BIG_ADD, Tmp2) & "'" & Chr$(13) & Chr$(13)
  1464.    Tmp = Tmp3
  1465.    Tmp2 = Tmp4
  1466.    Tmp1 = Tmp1 & "'(X) - (Y)' " & Space$(3) & " is '" & cBigNum(Tmp, BIG_SUB, Tmp2) & "'" & Chr$(13)
  1467.    Tmp = Tmp3
  1468.    Tmp2 = "-" & Tmp4
  1469.    Tmp1 = Tmp1 & "'(X) - (-Y)' " & Space$(3) & " is '" & cBigNum(Tmp, BIG_SUB, Tmp2) & "'" & Chr$(13)
  1470.    Tmp = "-" & Tmp3
  1471.    Tmp2 = Tmp4
  1472.    Tmp1 = Tmp1 & "'(-X) - (Y)' " & Space$(3) & " is '" & cBigNum(Tmp, BIG_SUB, Tmp2) & "'" & Chr$(13)
  1473.    Tmp = "-" & Tmp3
  1474.    Tmp2 = "-" & Tmp4
  1475.    Tmp1 = Tmp1 & "'(-X) - (-Y)' " & Space$(3) & " is '" & cBigNum(Tmp, BIG_SUB, Tmp2) & "'" & Chr$(13) & Chr$(13)
  1476.    Tmp = Tmp3
  1477.    Tmp2 = Tmp4
  1478.    Tmp1 = Tmp1 & "'(X) * (Y)' " & Space$(3) & " is '" & cBigNum(Tmp, BIG_MUL, Tmp2) & "'" & Chr$(13)
  1479.    Tmp = Tmp3
  1480.    Tmp2 = "-" & Tmp4
  1481.    Tmp1 = Tmp1 & "'(X) * (-Y)' " & Space$(3) & " is '" & cBigNum(Tmp, BIG_MUL, Tmp2) & "'" & Chr$(13)
  1482.    Tmp = "-" & Tmp3
  1483.    Tmp2 = Tmp4
  1484.    Tmp1 = Tmp1 & "'(-X) * (Y)' " & Space$(3) & " is '" & cBigNum(Tmp, BIG_MUL, Tmp2) & "'" & Chr$(13)
  1485.    Tmp = "-" & Tmp3
  1486.    Tmp2 = "-" & Tmp4
  1487.    Tmp1 = Tmp1 & "'(-X) * (-Y)' " & Space$(3) & " is '" & cBigNum(Tmp, BIG_MUL, Tmp2) & "'" & Chr$(13) & Chr$(13)
  1488.    cStartBasisTimer
  1489.    For i = 1 To ItemFile
  1490.       Tmp3 = cBigNum(Tmp, BIG_ADD, Tmp2)
  1491.    Next i
  1492.    Tmp1 = Tmp1 & "speed for " & ItemFile & " ADD = " & (cReadBasisTimer() / 1000) & Chr$(13)
  1493.    cStartBasisTimer
  1494.    For i = 1 To ItemFile
  1495.       Tmp3 = cBigNum(Tmp, BIG_SUB, Tmp2)
  1496.    Next i
  1497.    Tmp1 = Tmp1 & "speed for " & ItemFile & " SUB = " & (cReadBasisTimer() / 1000) & Chr$(13)
  1498.    cStartBasisTimer
  1499.    For i = 1 To ItemFile
  1500.       Tmp3 = cBigNum(Tmp, BIG_MUL, Tmp2)
  1501.    Next i
  1502.    Tmp1 = Tmp1 & "speed for " & ItemFile & " MUL = " & (cReadBasisTimer() / 1000)
  1503.    Label3.Caption = Tmp1
  1504. End Sub
  1505. Private Sub TestBigString01()
  1506.    Dim Tmp1       As String
  1507.    Dim m1         As Integer
  1508.    Dim p1         As Integer
  1509.    Tmp1 = "Create a big string of 512 Kb is "
  1510.    m1 = cHugeStrCreate(512 * 1024&)
  1511.    Tmp1 = Tmp1 & IIf(m1 <> 0, "OK", "ko") & " (" & m1 & ")" & Chr$(13)
  1512.    Tmp1 = Tmp1 & "Size (" & m1 & ") is " & cHugeStrSize(m1) & Chr$(13)
  1513.    Tmp1 = Tmp1 & "Memory Address (" & m1 & ") is " & cHugeStrAddress(m1) & Chr$(13)
  1514.    Tmp1 = Tmp1 & "Length (" & m1 & ") is " & cHugeStrLength(m1) & Chr$(13)
  1515.    Tmp1 = Tmp1 & "Add '1234567890' (" & m1 & ") is " & IIf(cHugeStrAdd(m1, "1234567890"), "OK", "ko") & Chr$(13)
  1516.    Tmp1 = Tmp1 & "Length (" & m1 & ") is " & cHugeStrLength(m1) & Chr$(13)
  1517.    Tmp1 = Tmp1 & "Pointer (" & m1 & ") is " & cHugeStrGetWP(m1) & Chr$(13)
  1518.    Tmp1 = Tmp1 & "Add 'This is a test' (" & m1 & ") is " & IIf(cHugeStrAdd(m1, "This is a test"), "OK", "ko") & Chr$(13)
  1519.    Tmp1 = Tmp1 & "Length (" & m1 & ") is " & cHugeStrLength(m1) & Chr$(13)
  1520.    Tmp1 = Tmp1 & "Pointer (" & m1 & ") is " & cHugeStrGetWP(m1) & Chr$(13)
  1521.    Tmp1 = Tmp1 & "Blocks (" & m1 & ") is " & cHugeStrBlocks(m1) & Chr$(13)
  1522.    Tmp1 = Tmp1 & "Read (" & m1 & ") is '" & cHugeStrRead(m1, 1) & "'" & Chr$(13)
  1523.    Tmp1 = Tmp1 & "Set pointer (" & m1 & ") to 7 is " & cHugeStrSetWP(m1, 7) & Chr$(13)
  1524.    Tmp1 = Tmp1 & "Add 'THIS IS A TEST' (" & m1 & ") is " & IIf(cHugeStrAdd(m1, "THIS IS A TEST"), "OK", "ko") & Chr$(13)
  1525.    Tmp1 = Tmp1 & "Length (" & m1 & ") is " & cHugeStrLength(m1) & Chr$(13)
  1526.    Tmp1 = Tmp1 & "Read (" & m1 & ") is '" & cHugeStrRead(m1, 1) & "'" & Chr$(13)
  1527.    Tmp1 = Tmp1 & "Append 'append one' (" & m1 & ") is " & IIf(cHugeStrAppend(m1, "append one"), "OK", "ko") & Chr$(13)
  1528.    Tmp1 = Tmp1 & "Append 'append two' (" & m1 & ") is " & IIf(cHugeStrAppend(m1, "append two"), "OK", "ko") & Chr$(13)
  1529.    Tmp1 = Tmp1 & "Length (" & m1 & ") is " & cHugeStrLength(m1) & Chr$(13)
  1530.    Tmp1 = Tmp1 & "Read (" & m1 & ") is '" & cHugeStrRead(m1, 1) & "'" & Chr$(13)
  1531.    Tmp1 = Tmp1 & "Set pointer (" & m1 & ") to " & cHugeStrLength(m1) & " is " & cHugeStrSetWP(m1, cHugeStrLength(m1)) & Chr$(13)
  1532.    Tmp1 = Tmp1 & "Add 'AZERTYUIOP' (" & m1 & ") is " & IIf(cHugeStrAdd(m1, "AZERTYUIOP"), "OK", "ko") & Chr$(13)
  1533.    Tmp1 = Tmp1 & "Length (" & m1 & ") is " & cHugeStrLength(m1) & Chr$(13)
  1534.    Tmp1 = Tmp1 & "Mid (" & m1 & ") is '" & cHugeStrMid(m1, 3, 10) & "'" & Chr$(13)
  1535.    Tmp1 = Tmp1 & "Read (" & m1 & ") is '" & cHugeStrRead(m1, 1) & "'" & Chr$(13)
  1536.    Tmp1 = Tmp1 & "Clear (" & m1 & ") is " & IIf(cHugeStrClear(m1), "OK", "ko") & Chr$(13)
  1537.    Tmp1 = Tmp1 & "Free a big string of 512 Kb is "
  1538.    p1 = cHugeStrFree(m1)
  1539.    Tmp1 = Tmp1 & IIf(p1 <> 0, "OK", "ko") & " (" & p1 & ")" & Chr$(13)
  1540.    Label3.Caption = Tmp1
  1541. End Sub
  1542. Private Sub TestBlockCharFromLeft()
  1543.    Dim Title      As String
  1544.    Dim Tmp        As String
  1545.    Dim Tmp1       As String
  1546.    Dim Tmp2       As String
  1547.    Dim i          As Integer
  1548.    Dim j          As Integer
  1549.    Tmp = Text1.Text
  1550.    Title = "The 3,7,1 blocks from left of [" & Tmp & "] are " & Chr$(13) & Chr$(13)
  1551.    Tmp = Text1.Text
  1552.    Tmp1 = Title & "3:" & cBlockCharFromLeft(Tmp, 3) & " | 7:" & cBlockCharFromLeft(Tmp, 7) & " | 1:" & cBlockCharFromLeft(Tmp, 1) & Chr$(13) & Chr$(13)
  1553.    cStartBasisTimer
  1554.    For i = 1 To Item
  1555.       Tmp2 = cBlockCharFromLeft(Tmp, 2)
  1556.    Next i
  1557.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1558.    Label3.Caption = Tmp1
  1559. End Sub
  1560. Private Sub TestBlockCharFromRight()
  1561.    Dim Title      As String
  1562.    Dim Tmp        As String
  1563.    Dim Tmp1       As String
  1564.    Dim Tmp2       As String
  1565.    Dim i          As Integer
  1566.    Dim j          As Integer
  1567.    Tmp = Text1.Text
  1568.    Title = "The 3,7,1 blocks from right of [" & Tmp & "] are " & Chr$(13) & Chr$(13)
  1569.    Tmp = Text1.Text
  1570.    Tmp1 = Title & "3:" & cBlockCharFromRight(Tmp, 3) & " | 7:" & cBlockCharFromRight(Tmp, 7) & " | 1:" & cBlockCharFromRight(Tmp, 1) & Chr$(13) & Chr$(13)
  1571.    cStartBasisTimer
  1572.    For i = 1 To Item
  1573.       Tmp2 = cBlockCharFromRight(Tmp, 2)
  1574.    Next i
  1575.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1576.    Label3.Caption = Tmp1
  1577. End Sub
  1578. Private Sub TestChangeChars()
  1579.    Dim Title      As String
  1580.    Dim Tmp        As String
  1581.    Dim Tmp1       As String
  1582.    Dim Tmp2       As String
  1583.    Dim i          As Integer
  1584.    Dim j          As Integer
  1585.    Tmp = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
  1586.    Title = "Change 'AZM' into 'qyc' of [" & Tmp & "] is "
  1587.    Call cChangeChars(Tmp, "AZM", "qyc")
  1588.    Tmp1 = Title & Tmp & Chr$(13) & Chr$(13)
  1589.    cStartBasisTimer
  1590.    For i = 1 To Item
  1591.       Call cChangeChars(Tmp, "AZM", "qyc")
  1592.    Next i
  1593.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1594.    Label3.Caption = Tmp1
  1595. End Sub
  1596. Private Sub TestChangeCharsUntil()
  1597.    Dim Title      As String
  1598.    Dim Tmp        As String
  1599.    Dim Tmp1       As String
  1600.    Dim Tmp2       As String
  1601.    Dim i          As Integer
  1602.    Dim j          As Integer
  1603.    Tmp = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
  1604.    Title = "Change 'AZM' into 'qyc' of [" & Tmp & "] until 'N' is "
  1605.    Call cChangeCharsUntil(Tmp, "AZM", "qyc", "N")
  1606.    Tmp1 = Title & Tmp & Chr$(13) & Chr$(13)
  1607.    cStartBasisTimer
  1608.    For i = 1 To Item
  1609.       Call cChangeCharsUntil(Tmp, "AZM", "qyc", "N")
  1610.    Next i
  1611.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1612.    Label3.Caption = Tmp1
  1613. End Sub
  1614. Private Sub TestChDir()
  1615.    Dim Title      As String
  1616.    Dim Tmp        As String
  1617.    Dim Tmp1       As String
  1618.    Dim Tmp2       As String
  1619.    Dim i          As Integer
  1620.    Dim j          As Integer
  1621.    Dim k          As Long
  1622.    Dim ErrCode    As Integer
  1623.    Tmp1 = ""
  1624.    For i = 1 To 26
  1625.       k = cChDir(Chr$(64 + i) & ":\")
  1626.       If (k = True) Then
  1627.          Tmp1 = Tmp1 & "ChDir to \ on '" & Chr$(64 + i) & ":' is " & IIf(k = True, "succesfull", "not successfull") & Chr$(13)
  1628.       End If
  1629.    Next i
  1630.    Tmp1 = Tmp1 + Chr$(13)
  1631.    cStartBasisTimer
  1632.    For i = 1 To Item
  1633.       k = cChDir("C:\")
  1634.    Next i
  1635.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1636.    Label3.Caption = Tmp1
  1637. End Sub
  1638. Private Sub TestChDrive()
  1639.    Dim Title      As String
  1640.    Dim Tmp        As String
  1641.    Dim Tmp1       As String
  1642.    Dim Tmp2       As String
  1643.    Dim i          As Integer
  1644.    Dim j          As Integer
  1645.    Dim k          As Long
  1646.    Dim ErrCode    As Integer
  1647.    Tmp1 = ""
  1648.    For i = 1 To 26
  1649.       k = cChDrive(Chr$(64 + i))
  1650.       If (k = True) Then
  1651.          Tmp1 = Tmp1 & "ChDrive on '" & Chr$(64 + i) & ":' is " & IIf(k = True, "succesfull", "not successfull") & Chr$(13)
  1652.       End If
  1653.    Next i
  1654.    Tmp1 = Tmp1 + Chr$(13)
  1655.    cStartBasisTimer
  1656.    For i = 1 To Item
  1657.       k = cChDrive("C")
  1658.    Next i
  1659.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1660.    Label3.Caption = Tmp1
  1661. End Sub
  1662. Private Sub TestCheckChars()
  1663.    Dim Title      As String
  1664.    Dim Tmp        As String
  1665.    Dim Tmp1       As String
  1666.    Dim Tmp2       As String
  1667.    Dim i          As Integer
  1668.    Dim j          As Integer
  1669.    Tmp = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
  1670.    Title = "Check 'A','Z' in [" & Tmp & "] is "
  1671.    Tmp1 = Title & IIf(cCheckChars(Tmp, "AZ"), "all present", "not all present") & Chr$(13) & Chr$(13)
  1672.    Title = Tmp1 & "Check 'a','Z' in [" & Tmp & "] is "
  1673.    Tmp1 = Title & IIf(cCheckChars(Tmp, "aZ"), "all present", "not all present") & Chr$(13) & Chr$(13)
  1674.    cStartBasisTimer
  1675.    For i = 1 To Item
  1676.       j = cCheckChars(Tmp, "AZ")
  1677.    Next i
  1678.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1679.    Label3.Caption = Tmp1
  1680. End Sub
  1681. Private Sub TestCheckNumericity()
  1682.    Dim Title      As String
  1683.    Dim Tmp        As String
  1684.    Dim Tmp1       As String
  1685.    Dim Tmp2       As String
  1686.    Dim i          As Integer
  1687.    Dim j          As Integer
  1688.    Tmp = Text1.Text
  1689.    Title = "[" & Tmp & "] is "
  1690.    Tmp1 = Title & IIf(cCheckNumericity(Tmp), "Numeric", " not Numeric") & Chr$(13) & Chr$(13)
  1691.    cStartBasisTimer
  1692.    For i = 1 To Item
  1693.       j = cCheckNumericity(Tmp)
  1694.    Next i
  1695.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1696.    Label3.Caption = Tmp1
  1697. End Sub
  1698. Private Sub TestCheckTime()
  1699.    Dim Title      As String
  1700.    Dim Tmp        As String
  1701.    Dim Tmp1       As String
  1702.    Dim Tmp2       As String
  1703.    Dim i          As Integer
  1704.    Dim j          As Integer
  1705.    Tmp1 = "10:01 is not between 12:00 and 14:00 => " & cCheckTime(601, 720, 840) & Chr$(13) & Chr$(13)
  1706.    Tmp1 = Tmp1 & "10:01 is between 09:00 and 10:02 => " & cCheckTime(601, 540, 602) & Chr$(13) & Chr$(13)
  1707.    Tmp1 = Tmp1 & "01:01 is between 23:58 and 02:45 => " & cCheckTime(61, 1438, 165) & Chr$(13) & Chr$(13)
  1708.    cStartBasisTimer
  1709.    For i = 1 To Item
  1710.       j = cCheckTime(720, 0, 1439)
  1711.    Next i
  1712.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1713.    Label3.Caption = Tmp1
  1714. End Sub
  1715. Private Sub TestCloseAllEditForm()
  1716.    If (cCloseAllEditForm() = True) Then
  1717.       Label3.Caption = "CloseAllEditForm SUCCESS"
  1718.    Else
  1719.       Label3.Caption = "CloseAllEditForm FAIL"
  1720.    End If
  1721. End Sub
  1722. Private Sub TestClusterSize()
  1723.    Dim Title      As String
  1724.    Dim Tmp        As String
  1725.    Dim Tmp1       As String
  1726.    Dim Tmp2       As String
  1727.    Dim i          As Integer
  1728.    Dim j          As Integer
  1729.    Dim k          As Long
  1730.    Dim ErrCode    As Integer
  1731.    Tmp1 = ""
  1732.    For i = 1 To 26
  1733.       k = cGetDiskClusterSize(Chr$(64 + i))
  1734.       If (k <> True) Then
  1735.          Tmp1 = Tmp1 & "DiskClusterSize for '" & Chr$(64 + i) & ":' is " & k & Chr$(13)
  1736.       End If
  1737.    Next i
  1738.    Tmp1 = Tmp1 + Chr$(13)
  1739.    cStartBasisTimer
  1740.    For i = 1 To Item
  1741.       k = cGetDiskClusterSize("C")
  1742.    Next i
  1743.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1744.    Label3.Caption = Tmp1
  1745. End Sub
  1746. Private Sub TestCnvAE()
  1747.    Dim Title      As String
  1748.    Dim Tmp        As String
  1749.    Dim Tmp1       As String
  1750.    Dim Tmp2       As String
  1751.    Dim i          As Integer
  1752.    Dim j          As Integer
  1753.    Tmp = Text1.Text
  1754.    Title = "ASCII -> EBCDIC of '" & Tmp & "' is "
  1755.    Call cCnvASCIItoEBCDIC(Tmp)
  1756.    Tmp1 = Title & Tmp & Chr$(13) & Chr$(13)
  1757.    Title = "EBCDIC -> ASCII of '" & Tmp & "' is "
  1758.    Call cCnvEBCDICtoASCII(Tmp)
  1759.    Tmp1 = Tmp1 & Title & Tmp & Chr$(13) & Chr$(13)
  1760.    cStartBasisTimer
  1761.    For i = 1 To Item
  1762.       Call cCnvASCIItoEBCDIC(Tmp)
  1763.    Next i
  1764.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1765.    Label3.Caption = Tmp1
  1766. End Sub
  1767. Private Sub TestCombination()
  1768.    Dim Title      As String
  1769.    Dim Tmp        As String
  1770.    Dim Tmp1       As String
  1771.    Dim Tmp2       As String
  1772.    Dim Tmp3       As String
  1773.    Dim i          As Integer
  1774.    Dim j          As Integer
  1775.    Dim m1         As Double
  1776.    Dim m2         As Double
  1777.    For i = 0 To 10
  1778.       Tmp1 = Tmp1 & "Combination C(42, " & i & ") is '" & cCombination(42, i) & "'" & Chr$(13)
  1779.    Next i
  1780.    Tmp1 = Tmp1 & Chr$(13)
  1781.    For i = 42 To 32 Step -1
  1782.       Tmp1 = Tmp1 & "Combination C(42, " & i & ") is '" & cCombination(42, i) & "'" & Chr$(13)
  1783.    Next i
  1784.    Tmp1 = Tmp1 & Chr$(13)
  1785.    cStartBasisTimer
  1786.    For i = 1 To ItemFile
  1787.       m1 = cCombination(42, 6)
  1788.    Next i
  1789.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  1790.    Label3.Caption = Tmp1
  1791. End Sub
  1792. Private Sub TestCompact()
  1793.    Dim Title      As String
  1794.    Dim Tmp        As String
  1795.    Dim Tmp1       As String
  1796.    Dim Tmp2       As String
  1797.    Dim i          As Integer
  1798.    Dim j          As Integer
  1799.    Tmp = "30313233343536373839"
  1800.    Title = "Compact '" & Tmp & "' is "
  1801.    Tmp1 = Title & cCompact(Tmp) & Chr$(13) & Chr$(13)
  1802.    cStartBasisTimer
  1803.    For i = 1 To Item
  1804.       Tmp2 = cCompact(Tmp)
  1805.    Next i
  1806.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1807.    Label3.Caption = Tmp1
  1808. End Sub
  1809. Private Sub TestCompress()
  1810.    Dim Title      As String
  1811.    Dim Tmp        As String
  1812.    Dim Tmp1       As String
  1813.    Dim Tmp2       As String
  1814.    Dim i          As Integer
  1815.    Dim j          As Integer
  1816.    Tmp1 = "A " & Chr$(9) & "BC  "
  1817.    Tmp = Tmp1
  1818.    Title = "Filter chr(0),chr(9),chr(32) in [" & Tmp & "] is "
  1819.    Tmp1 = Title & cCompress(Tmp) & Chr$(13) & Chr$(13)
  1820.    cStartBasisTimer
  1821.    For i = 1 To Item
  1822.       Tmp2 = cCompress(Tmp)
  1823.    Next i
  1824.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1825.    Label3.Caption = Tmp1
  1826. End Sub
  1827. Private Sub TestCompressTab()
  1828.    Dim Title      As String
  1829.    Dim Tmp        As String
  1830.    Dim Tmp1       As String
  1831.    Dim Tmp2       As String
  1832.    Dim i          As Integer
  1833.    Dim j          As Integer
  1834.    Tmp = "A      BC   DEF  GHIJ  "
  1835.    Title = "Compress tab (3 chars) into [" & Tmp & "] is " & Chr$(13) & Chr$(13)
  1836.    Tmp1 = Title & cCompressTab(Tmp, 3) & Chr$(13) & Chr$(13)
  1837.    Tmp = "A      BC   DEF  GHIJ  "
  1838.    Title = "Compress tab (2 chars) into [" & Tmp & "] is " & Chr$(13) & Chr$(13)
  1839.    Tmp1 = Tmp1 & Title & cCompressTab(Tmp, 2) & Chr$(13) & Chr$(13)
  1840.    cStartBasisTimer
  1841.    For i = 1 To Item
  1842.       Tmp2 = cCompressTab(Tmp, 3)
  1843.    Next i
  1844.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1845.    Label3.Caption = Tmp1
  1846. End Sub
  1847. Private Sub TestControl3D()
  1848.    Dim i    As Integer
  1849.    Dim j    As Integer
  1850.    Dim r    As tagRECT
  1851.    Dim Tmp1 As String
  1852.    Call cGetCtlRect(Label3, r)
  1853.    Tmp1 = "Coordinates (in pixels) of this label are :" & Chr$(13) & Chr$(13)
  1854.    Tmp1 = Tmp1 & "Left : " & r.Left & Chr$(13)
  1855.    Tmp1 = Tmp1 & "Top : " & r.Top & Chr$(13)
  1856.    Tmp1 = Tmp1 & "Right : " & r.Right & Chr$(13)
  1857.    Tmp1 = Tmp1 & "Bottom : " & r.Bottom & Chr$(13) & Chr$(13)
  1858.    Call cGetCtlRectTwips(Label3, r)
  1859.    Tmp1 = Tmp1 & "Coordinates (in twips) of this label are :" & Chr$(13) & Chr$(13)
  1860.    Tmp1 = Tmp1 & "Left : " & r.Left & Chr$(13)
  1861.    Tmp1 = Tmp1 & "Top : " & r.Top & Chr$(13)
  1862.    Tmp1 = Tmp1 & "Right : " & r.Right & Chr$(13)
  1863.    Tmp1 = Tmp1 & "Bottom : " & r.Bottom & Chr$(13)
  1864.    Label3.Caption = Tmp1
  1865.    For i = 1 To 11
  1866.       c3D Label3, 0, 0
  1867.       DoEvents
  1868.       j = cSleep(140)
  1869.       c3D Label3, 1, 0
  1870.       DoEvents
  1871.       j = cSleep(140)
  1872.    Next i
  1873. End Sub
  1874. Private Sub TestCountDirectories()
  1875.    Dim Title      As String
  1876.    Dim Tmp        As String
  1877.    Dim Tmp1       As String
  1878.    Dim Tmp2       As String
  1879.    Dim i          As Integer
  1880.    Dim j          As Integer
  1881.    Dim k          As Integer
  1882.    Tmp1 = ""
  1883.    Tmp1 = Tmp1 & "Number of directories in C:\ is " & cCountDirectories("C:\*.*") & Chr$(13) & Chr$(13)
  1884.    Tmp1 = Tmp1 & "Number of directories in D:\ is " & cCountDirectories("D:\*.*") & Chr$(13) & Chr$(13)
  1885.    Tmp1 = Tmp1 & "Number of directories in E:\ is " & cCountDirectories("E:\*.*") & Chr$(13) & Chr$(13)
  1886.    cStartBasisTimer
  1887.    For i = 1 To 10
  1888.       k = cCountDirectories("C:\*.*")
  1889.    Next i
  1890.    Tmp1 = Tmp1 & "speed for " & 10 & " = " & cReadBasisTimer() & " ms"
  1891.    Label3.Caption = Tmp1
  1892. End Sub
  1893. Private Sub TestCountFiles()
  1894.    Dim Title      As String
  1895.    Dim Tmp        As String
  1896.    Dim Tmp1       As String
  1897.    Dim Tmp2       As String
  1898.    Dim i          As Integer
  1899.    Dim j          As Integer
  1900.    Dim k          As Integer
  1901.    Tmp1 = ""
  1902.    Tmp1 = Tmp1 & "Number of files in C:\ is " & cCountFiles("C:\*.*") & Chr$(13) & Chr$(13)
  1903.    Tmp1 = Tmp1 & "Number of files in D:\ is " & cCountFiles("D:\*.*") & Chr$(13) & Chr$(13)
  1904.    Tmp1 = Tmp1 & "Number of files in E:\ is " & cCountFiles("E:\*.*") & Chr$(13) & Chr$(13)
  1905.    cStartBasisTimer
  1906.    For i = 1 To 10
  1907.       k = cCountFiles("C:\*.*")
  1908.    Next i
  1909.    Tmp1 = Tmp1 & "speed for " & 10 & " = " & cReadBasisTimer() & " ms"
  1910.    Label3.Caption = Tmp1
  1911. End Sub
  1912. Private Sub TestCountI()
  1913.    Dim Title      As String
  1914.    Dim Tmp        As String
  1915.    Dim Tmp1       As String
  1916.    Dim Tmp2       As String
  1917.    Dim i          As Integer
  1918.    Dim j          As Integer
  1919.    Dim m          As Integer
  1920.    ReDim array(20) As Integer
  1921.    Call cRndInit(-1)
  1922.    For i = LBound(array) To UBound(array)
  1923.       array(i) = cRndI()
  1924.       List1.AddItem "" & array(i)
  1925.    Next i
  1926.    Tmp1 = Tmp1 & "Count '" & array(5) & "' is " & cCountI(array(), array(5)) & Chr$(13)
  1927.    Tmp1 = Tmp1 & "Count '" & array(10) & "' is " & cCountI(array(), array(10)) & Chr$(13)
  1928.    Tmp1 = Tmp1 & "Count '" & array(15) & "' is " & cCountI(array(), array(15)) & Chr$(13)
  1929.    Tmp1 = Tmp1 & "Count '" & array(20) & "' is " & cCountI(array(), array(20)) & Chr$(13)
  1930.    Tmp1 = Tmp1 & "Count '" & -1234 & "' is " & cCountI(array(), -1234) & Chr$(13)
  1931.    cStartBasisTimer
  1932.    For i = 1 To ItemFile
  1933.       j = cCountI(array(), array(1))
  1934.    Next i
  1935.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  1936.    Label3.Caption = Tmp1
  1937. End Sub
  1938. Private Sub TestCreateAndFill()
  1939.    Dim Title      As String
  1940.    Dim Tmp        As String
  1941.    Dim Tmp1       As String
  1942.    Dim Tmp2       As String
  1943.    Dim i          As Integer
  1944.    Dim j          As Integer
  1945.    Tmp = Text1.Text
  1946.    Title = "Create and Fill a string of 40 chars with [" & Tmp & "] is "
  1947.    Tmp1 = Title & cCreateAndFill(40, Tmp) & Chr$(13) & Chr$(13)
  1948.    cStartBasisTimer
  1949.    For i = 1 To Item
  1950.       Tmp2 = cCreateAndFill(40, Tmp)
  1951.    Next i
  1952.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1953.    Label3.Caption = Tmp1
  1954. End Sub
  1955. Private Sub TestCreateBits()
  1956.    Dim Title      As String
  1957.    Dim Tmp        As String
  1958.    Dim Tmp1       As String
  1959.    Dim Tmp2       As String
  1960.    Dim i          As Integer
  1961.    Dim j          As Integer
  1962.    Tmp = Text1.Text
  1963.    Title = "Create a string for 1024 bits is "
  1964.    Tmp1 = Title & Len(cCreateBits(1024)) & " bytes" & Chr$(13) & Chr$(13)
  1965.    cStartBasisTimer
  1966.    For i = 1 To Item
  1967.       Tmp2 = cCreateBits(1024)
  1968.    Next i
  1969.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1970.    Label3.Caption = Tmp1
  1971. End Sub
  1972. Private Sub TestCustomControls()
  1973.    Dim i       As Integer
  1974.    Dim N       As Integer
  1975.    Dim Tmp1    As String
  1976.    N = frmT2W.Count - 1
  1977.    For i = 0 To N
  1978.       Tmp1 = Tmp1 + "Control name is '" & cGetCtlNameIndex(frmT2W.Controls(i)) & "'     Control Class is '" & cGetCtlClass(frmT2W.Controls(i)) & "'" + Chr$(13)
  1979.    Next i
  1980.    Label3.Caption = Tmp1
  1981. End Sub
  1982. Private Sub TestDAL(Management As Integer)
  1983.    Dim Tmp        As String
  1984.    Dim ErrCode    As Integer
  1985.    Dim DA         As tagDISKARRAY
  1986.    ErrCode = cMakeDir("c:\t2w_tmp")
  1987.    DA.nFilename = "c:\t2w_tmp\dalong.tmp"
  1988.    DA.nType = DA_LONG
  1989.    DA.nIsTyped = False
  1990.    DA.nRows = 100
  1991.    DA.nCols = 100
  1992.    DA.nSheets = 2
  1993.    Select Case Management
  1994.       Case True      'create
  1995.          ErrCode = cDACreate(DA, True)
  1996.       Case False     'use
  1997.          ErrCode = cDACreate(DA, False)
  1998.       Case 1         'clear all
  1999.          ErrCode = cDACreate(DA, False)
  2000.          If (ErrCode = -1) Then ErrCode = cDAClear(DA)
  2001.       Case 2         'clear sheet 2
  2002.          ErrCode = cDACreate(DA, False)
  2003.          If (ErrCode = -1) Then ErrCode = cDAClearSheet(DA, 2)
  2004.       Case 3         'clear last row
  2005.          ErrCode = cDACreate(DA, False)
  2006.          If (ErrCode = -1) Then ErrCode = cDAClearRow(DA, DA.nRows, 1)
  2007.       Case 4         'clear last col
  2008.          ErrCode = cDACreate(DA, False)
  2009.          If (ErrCode = -1) Then ErrCode = cDAClearCol(DA, DA.nCols, 1)
  2010.       Case 5         'clear last row in all sheets
  2011.          ErrCode = cDACreate(DA, False)
  2012.          If (ErrCode = -1) Then ErrCode = cDAClearRow(DA, DA.nRows, -1)
  2013.       Case 6         'clear last col in all sheets
  2014.          ErrCode = cDACreate(DA, False)
  2015.          If (ErrCode = -1) Then ErrCode = cDAClearCol(DA, DA.nCols, -1)
  2016.    End Select
  2017.    Tmp = Tmp & "ErrCode = " & ErrCode & Chr$(13) & Chr$(13)
  2018.    If (ErrCode = True) Then
  2019.       
  2020.       Tmp = Tmp & "DA.daSize       = " & DA.daSize & Chr$(13)
  2021.       Tmp = Tmp & "DA.Signature    = " & DA.signature & Chr$(13)
  2022.       Tmp = Tmp & "DA.nFilename    = " & Trim$(DA.nFilename) & Chr$(13)
  2023.       Tmp = Tmp & "DA.nType        = " & DA.nType & Chr$(13)
  2024.       Tmp = Tmp & "DA.nIsTyped     = " & DA.nIsTyped & Chr$(13)
  2025.       Tmp = Tmp & "DA.nRows        = " & DA.nRows & Chr$(13)
  2026.       Tmp = Tmp & "DA.nCols        = " & DA.nCols & Chr$(13)
  2027.       Tmp = Tmp & "DA.nSheets      = " & DA.nSheets & Chr$(13)
  2028.       Tmp = Tmp & "DA.rHandle      = " & DA.rHandle & Chr$(13)
  2029.       Tmp = Tmp & "DA.rElementSize = " & DA.rElementSize & Chr$(13)
  2030.       Tmp = Tmp & "DA.rFileSize    = " & DA.rFileSize & Chr$(13)
  2031.       Tmp = Tmp & "DA.rParts       = " & DA.rParts & Chr$(13)
  2032.       Tmp = Tmp & "DA.rRemain      = " & DA.rRemain & Chr$(13)
  2033.       Tmp = Tmp & "DA.rSheetSize   = " & DA.rSheetSize & Chr$(13)
  2034.       Tmp = Tmp & "DA.rTime        = " & DA.rTime & Chr$(13) & Chr$(13)
  2035.       If (Management = True) Then
  2036.          Call cDAPut(DA, 1, 1, 1, 12345)
  2037.          Call cDAPut(DA, 1, DA.nCols, 1, 56789)
  2038.          Call cDAPut(DA, DA.nRows, 1, 1, 54321)
  2039.          Call cDAPut(DA, DA.nRows, DA.nCols, 1, 98765)
  2040.          Call cDAPut(DA, 1, 1, 2, 12345678)
  2041.          Call cDAPut(DA, 1, DA.nCols, 2, 34567890)
  2042.          Call cDAPut(DA, DA.nRows, 1, 2, 123456789)
  2043.          Call cDAPut(DA, DA.nRows, DA.nCols, 2, 987654321)
  2044.       End If
  2045.       Tmp = Tmp & "R:1  , C:1  , D:1, Value : " & cDAGet(DA, 1, 1, 1) & "   , time : " & DA.rTime & Chr$(13)
  2046.       Tmp = Tmp & "R:1  , C:" & DA.nCols & ", D:1, Value : " & cDAGet(DA, 1, DA.nCols, 1) & "   , time : " & DA.rTime & Chr$(13)
  2047.       Tmp = Tmp & "R:" & DA.nRows & ", C:1  , D:1, Value : " & cDAGet(DA, DA.nRows, 1, 1) & "   , time : " & DA.rTime & Chr$(13)
  2048.       Tmp = Tmp & "R:" & DA.nRows & ", C:" & DA.nCols & ", D:1, Value : " & cDAGet(DA, DA.nRows, DA.nCols, 1) & "   , time : " & DA.rTime & Chr$(13)
  2049.       Tmp = Tmp & "R:1  , C:1  , D:2, Value : " & cDAGet(DA, 1, 1, 2) & "   , time : " & DA.rTime & Chr$(13)
  2050.       Tmp = Tmp & "R:1  , C:" & DA.nCols & ", D:2, Value : " & cDAGet(DA, 1, DA.nCols, 2) & "   , time : " & DA.rTime & Chr$(13)
  2051.       Tmp = Tmp & "R:" & DA.nRows & ", C:1  , D:2, Value : " & cDAGet(DA, DA.nRows, 1, 2) & "   , time : " & DA.rTime & Chr$(13)
  2052.       Tmp = Tmp & "R:" & DA.nRows & ", C:" & DA.nCols & ", D:2, Value : " & cDAGet(DA, DA.nRows, DA.nCols, 2) & "   , time : " & DA.rTime & Chr$(13)
  2053.    End If
  2054.    Call cDAClose(DA, False)
  2055.    Label3.Caption = Tmp
  2056. End Sub
  2057. Private Sub TestDAStr(Management As Integer)
  2058.    Dim Tmp        As String
  2059.    Dim ErrCode    As Integer
  2060.    Dim DA         As tagDISKARRAY
  2061.    ErrCode = cMakeDir("c:\t2w_tmp")
  2062.    DA.nFilename = "c:\t2w_tmp\dastring.tmp"
  2063.    DA.nType = 50
  2064.    DA.nIsTyped = False
  2065.    DA.nRows = 100
  2066.    DA.nCols = 100
  2067.    DA.nSheets = 2
  2068.    Select Case Management
  2069.       Case True      'create
  2070.          ErrCode = cDACreate(DA, True)
  2071.       Case False     'use
  2072.          ErrCode = cDACreate(DA, False)
  2073.       Case 1         'clear all
  2074.          ErrCode = cDACreate(DA, False)
  2075.          If (ErrCode = -1) Then ErrCode = cDAClear(DA)
  2076.       Case 2         'clear sheet 2
  2077.          ErrCode = cDACreate(DA, False)
  2078.          If (ErrCode = -1) Then ErrCode = cDAClearSheet(DA, 2)
  2079.       Case 3         'clear last row
  2080.          ErrCode = cDACreate(DA, False)
  2081.          If (ErrCode = -1) Then ErrCode = cDAClearRow(DA, DA.nRows, 1)
  2082.       Case 4         'clear last col
  2083.          ErrCode = cDACreate(DA, False)
  2084.          If (ErrCode = -1) Then ErrCode = cDAClearCol(DA, DA.nCols, 1)
  2085.       Case 5         'clear last row in all sheets
  2086.          ErrCode = cDACreate(DA, False)
  2087.          If (ErrCode = -1) Then ErrCode = cDAClearRow(DA, DA.nRows, -1)
  2088.       Case 6         'clear last col in all sheets
  2089.          ErrCode = cDACreate(DA, False)
  2090.          If (ErrCode = -1) Then ErrCode = cDAClearCol(DA, DA.nCols, -1)
  2091.    End Select
  2092.    Tmp = Tmp & "ErrCode = " & ErrCode & Chr$(13) & Chr$(13)
  2093.    If (ErrCode = True) Then
  2094.       
  2095.       Tmp = Tmp & "DA.daSize       = " & DA.daSize & Chr$(13)
  2096.       Tmp = Tmp & "DA.Signature    = " & DA.signature & Chr$(13)
  2097.       Tmp = Tmp & "DA.nFilename    = " & Trim$(DA.nFilename) & Chr$(13)
  2098.       Tmp = Tmp & "DA.nType        = " & DA.nType & Chr$(13)
  2099.       Tmp = Tmp & "DA.nIsTyped     = " & DA.nIsTyped & Chr$(13)
  2100.       Tmp = Tmp & "DA.nRows        = " & DA.nRows & Chr$(13)
  2101.       Tmp = Tmp & "DA.nCols        = " & DA.nCols & Chr$(13)
  2102.       Tmp = Tmp & "DA.nSheets      = " & DA.nSheets & Chr$(13)
  2103.       Tmp = Tmp & "DA.rHandle      = " & DA.rHandle & Chr$(13)
  2104.       Tmp = Tmp & "DA.rElementSize = " & DA.rElementSize & Chr$(13)
  2105.       Tmp = Tmp & "DA.rFileSize    = " & DA.rFileSize & Chr$(13)
  2106.       Tmp = Tmp & "DA.rParts       = " & DA.rParts & Chr$(13)
  2107.       Tmp = Tmp & "DA.rRemain      = " & DA.rRemain & Chr$(13)
  2108.       Tmp = Tmp & "DA.rSheetSize   = " & DA.rSheetSize & Chr$(13)
  2109.       Tmp = Tmp & "DA.rTime        = " & DA.rTime & Chr$(13) & Chr$(13)
  2110.       If (Management = True) Then
  2111.       
  2112.          Call cDAPut(DA, 1, 1, 1, "D:1, ABCDEFGHIJ")
  2113.          Call cDAPut(DA, 1, DA.nCols, 1, "D:1, abcdefghij")
  2114.          Call cDAPut(DA, DA.nRows, 1, 1, "D:1, OPQRSTUVWXYZ")
  2115.          Call cDAPut(DA, DA.nRows, DA.nCols, 1, "D:1, oprqstuvwxyz")
  2116.          Call cDAPut(DA, 1, 1, 2, "D:2, 1234567890")
  2117.          Call cDAPut(DA, 1, DA.nCols, 2, "D:2, 0987654321")
  2118.          Call cDAPut(DA, DA.nRows, 1, 2, "D:2, 12345ABCDE")
  2119.          Call cDAPut(DA, DA.nRows, DA.nCols, 2, "D:2, VWXYZ54321")
  2120.       End If
  2121.       Tmp = Tmp & "R:1  , C:1  , D:1, Value : " & Trim$(cDAGet(DA, 1, 1, 1)) & "   , time : " & DA.rTime & Chr$(13)
  2122.       Tmp = Tmp & "R:1  , C:" & DA.nCols & ", D:1, Value : " & Trim$(cDAGet(DA, 1, DA.nCols, 1)) & "   , time : " & DA.rTime & Chr$(13)
  2123.       Tmp = Tmp & "R:" & DA.nRows & ", C:1  , D:1, Value : " & Trim$(cDAGet(DA, DA.nRows, 1, 1)) & "   , time : " & DA.rTime & Chr$(13)
  2124.       Tmp = Tmp & "R:" & DA.nRows & ", C:" & DA.nCols & ", D:1, Value : " & Trim$(cDAGet(DA, DA.nRows, DA.nCols, 1)) & "   , time : " & DA.rTime & Chr$(13)
  2125.       Tmp = Tmp & "R:1  , C:1  , D:2, Value : " & Trim$(cDAGet(DA, 1, 1, 2)) & "   , time : " & DA.rTime & Chr$(13)
  2126.       Tmp = Tmp & "R:1  , C:" & DA.nCols & ", D:2, Value : " & Trim$(cDAGet(DA, 1, DA.nCols, 2)) & "   , time : " & DA.rTime & Chr$(13)
  2127.       Tmp = Tmp & "R:" & DA.nRows & ", C:1  , D:2, Value : " & Trim$(cDAGet(DA, DA.nRows, 1, 2)) & "   , time : " & DA.rTime & Chr$(13)
  2128.       Tmp = Tmp & "R:" & DA.nRows & ", C:" & DA.nCols & ", D:2, Value : " & Trim$(cDAGet(DA, DA.nRows, DA.nCols, 2)) & "   , time : " & DA.rTime & Chr$(13)
  2129.    End If
  2130.    Call cDAClose(DA, False)
  2131.    Label3.Caption = Tmp
  2132. End Sub
  2133. Private Sub TestDate()
  2134.    Dim Title      As String
  2135.    Dim Tmp        As String
  2136.    Dim Tmp1       As String
  2137.    Dim Tmp2       As String
  2138.    Dim i          As Integer
  2139.    Dim j          As Integer
  2140.    Dim nYear      As Integer
  2141.    Dim nMonth     As Integer
  2142.    Dim nDay       As Integer
  2143.    Dim nNow       As Long
  2144.    nNow = Int(Now)
  2145.    nYear = Year(nNow)
  2146.    nMonth = Month(nNow)
  2147.    nDay = Day(nNow)
  2148.    Tmp1 = "Today is the '" & Format$(Int(Now), "short date") & "'" & Chr$(13) & Chr$(13)
  2149.    Tmp1 = Tmp1 & "Day of the week (ISO, U.S., Special) is (" & cDayOfWeek(nYear, nMonth, nDay, True) & ", " & cDayOfWeek(nYear, nMonth, nDay, False) & ", " & cDayOfWeek(nYear, nMonth, nDay, 1) & ")" & Chr$(13) & Chr$(13)
  2150.    Tmp1 = Tmp1 & "Day of the year is '" & cDayOfYear(nYear, nMonth, nDay) & "'" & Chr$(13) & Chr$(13)
  2151.    Tmp1 = Tmp1 & "Week of the year (ISO, U.S., Special) is (" & cWeekOfYear(nYear, nMonth, nDay, True) & ", " & cWeekOfYear(nYear, nMonth, nDay, False) & ", " & cWeekOfYear(nYear, nMonth, nDay, 1) & ")" & Chr$(13) & Chr$(13)
  2152.    nNow = cDateToScalar(nYear, nMonth, nDay)
  2153.    Tmp1 = Tmp1 & "Scalar day is '" & nNow & "'" & Chr$(13)
  2154.    nYear = 0
  2155.    nMonth = 0
  2156.    nDay = 0
  2157.    Call cScalarToDate(nNow, nYear, nMonth, nDay)
  2158.    Tmp1 = Tmp1 & "Year : " & nYear & ", Month : " & nMonth & ", Day : " & nDay & Chr$(13) & Chr$(13) & Chr$(13)
  2159.    nNow = Int(Now)
  2160.    nYear = Year(nNow)
  2161.    nMonth = 1
  2162.    nDay = 1
  2163.    Tmp1 = Tmp1 & "First Day is the '" & Format$(DateSerial(nYear, nMonth, nDay), "short date") & "'" & Chr$(13) & Chr$(13)
  2164.    Tmp1 = Tmp1 & "Day of the week (ISO, U.S., Special) is (" & cDayOfWeek(nYear, nMonth, nDay, True) & ", " & cDayOfWeek(nYear, nMonth, nDay, False) & ", " & cDayOfWeek(nYear, nMonth, nDay, 1) & ")" & Chr$(13) & Chr$(13)
  2165.    Tmp1 = Tmp1 & "Day of the year is '" & cDayOfYear(nYear, nMonth, nDay) & "'" & Chr$(13) & Chr$(13)
  2166.    Tmp1 = Tmp1 & "Week of the year (ISO, U.S., Special) is (" & cWeekOfYear(nYear, nMonth, nDay, True) & ", " & cWeekOfYear(nYear, nMonth, nDay, False) & ", " & cWeekOfYear(nYear, nMonth, nDay, 1) & ")" & Chr$(13) & Chr$(13)
  2167.    nNow = cDateToScalar(nYear, nMonth, nDay)
  2168.    Tmp1 = Tmp1 & "Scalar day is '" & nNow & "'" & Chr$(13)
  2169.    nYear = 0
  2170.    nMonth = 0
  2171.    nDay = 0
  2172.    Call cScalarToDate(nNow, nYear, nMonth, nDay)
  2173.    Tmp1 = Tmp1 & "Year : " & nYear & ", Month : " & nMonth & ", Day : " & nDay & Chr$(13) & Chr$(13)
  2174.    Label3.Caption = Tmp1
  2175. End Sub
  2176. Private Sub TestDAType(Management As Integer)
  2177.    Dim Tmp        As String
  2178.    Dim ErrCode    As Integer
  2179.    Dim DA         As tagDISKARRAY
  2180.    Dim TE         As tagTASKENTRY
  2181.    ErrCode = cMakeDir("c:\t2w_tmp")
  2182.    DA.nFilename = "c:\t2w_tmp\datype.tmp"
  2183.    DA.nType = Len(TE)
  2184.    DA.nIsTyped = True
  2185.    DA.nRows = 100
  2186.    DA.nCols = 100
  2187.    DA.nSheets = 2
  2188.    Select Case Management
  2189.       Case True      'create
  2190.          ErrCode = cDACreate(DA, True)
  2191.       Case False     'use
  2192.          ErrCode = cDACreate(DA, False)
  2193.       Case 1         'clear all
  2194.          ErrCode = cDACreate(DA, False)
  2195.          If (ErrCode = -1) Then ErrCode = cDAClear(DA)
  2196.       Case 2         'clear sheet 2
  2197.          ErrCode = cDACreate(DA, False)
  2198.          If (ErrCode = -1) Then ErrCode = cDAClearSheet(DA, 2)
  2199.       Case 3         'clear last row
  2200.          ErrCode = cDACreate(DA, False)
  2201.          If (ErrCode = -1) Then ErrCode = cDAClearRow(DA, DA.nRows, 1)
  2202.       Case 4         'clear last col
  2203.          ErrCode = cDACreate(DA, False)
  2204.          If (ErrCode = -1) Then ErrCode = cDAClearCol(DA, DA.nCols, 1)
  2205.       Case 5         'clear last row in all sheets
  2206.          ErrCode = cDACreate(DA, False)
  2207.          If (ErrCode = -1) Then ErrCode = cDAClearRow(DA, DA.nRows, -1)
  2208.       Case 6         'clear last col in all sheets
  2209.          ErrCode = cDACreate(DA, False)
  2210.          If (ErrCode = -1) Then ErrCode = cDAClearCol(DA, DA.nCols, -1)
  2211.       End Select
  2212.    Tmp = Tmp & "ErrCode = " & ErrCode & Chr$(13) & Chr$(13)
  2213.    If (ErrCode = True) Then
  2214.       
  2215.       Tmp = Tmp & "DA.daSize       = " & DA.daSize & Chr$(13)
  2216.       Tmp = Tmp & "DA.Signature    = " & DA.signature & Chr$(13)
  2217.       Tmp = Tmp & "DA.nFilename    = " & Trim$(DA.nFilename) & Chr$(13)
  2218.       Tmp = Tmp & "DA.nType        = " & DA.nType & Chr$(13)
  2219.       Tmp = Tmp & "DA.nIsTyped     = " & DA.nIsTyped & Chr$(13)
  2220.       Tmp = Tmp & "DA.nRows        = " & DA.nRows & Chr$(13)
  2221.       Tmp = Tmp & "DA.nCols        = " & DA.nCols & Chr$(13)
  2222.       Tmp = Tmp & "DA.nSheets      = " & DA.nSheets & Chr$(13)
  2223.       Tmp = Tmp & "DA.rHandle      = " & DA.rHandle & Chr$(13)
  2224.       Tmp = Tmp & "DA.rElementSize = " & DA.rElementSize & Chr$(13)
  2225.       Tmp = Tmp & "DA.rFileSize    = " & DA.rFileSize & Chr$(13)
  2226.       Tmp = Tmp & "DA.rParts       = " & DA.rParts & Chr$(13)
  2227.       Tmp = Tmp & "DA.rRemain      = " & DA.rRemain & Chr$(13)
  2228.       Tmp = Tmp & "DA.rSheetSize   = " & DA.rSheetSize & Chr$(13)
  2229.       Tmp = Tmp & "DA.rTime        = " & DA.rTime & Chr$(13) & Chr$(13)
  2230.       If (Management = True) Then
  2231.          ErrCode = cTasks(TE, True)
  2232.          Call cDAPutType(DA, 1, 1, 1, TE)
  2233.          ErrCode = cTasks(TE, False)
  2234.          Call cDAPutType(DA, 1, DA.nCols, 1, TE)
  2235.          ErrCode = cTasks(TE, False)
  2236.          Call cDAPutType(DA, DA.nRows, 1, 1, TE)
  2237.          ErrCode = cTasks(TE, False)
  2238.          Call cDAPutType(DA, DA.nRows, DA.nCols, 1, TE)
  2239.          ErrCode = cTasks(TE, False)
  2240.          Call cDAPutType(DA, 1, 1, 2, TE)
  2241.          ErrCode = cTasks(TE, False)
  2242.          Call cDAPutType(DA, 1, DA.nCols, 2, TE)
  2243.          ErrCode = cTasks(TE, False)
  2244.          Call cDAPutType(DA, DA.nRows, 1, 2, TE)
  2245.          ErrCode = cTasks(TE, False)
  2246.          Call cDAPutType(DA, DA.nRows, DA.nCols, 2, TE)
  2247.          
  2248.       End If
  2249.       Call cDAGetType(DA, 1, 1, 1, TE)
  2250.       Tmp = Tmp & "R:1  , C:1  , D:1, TE.szModule : " & cCompress(TE.szModule) & "   , time : " & DA.rTime & Chr$(13)
  2251.       Call cDAGetType(DA, 1, DA.nCols, 1, TE)
  2252.       Tmp = Tmp & "R:1  , C:" & DA.nCols & ", D:1, TE.szModule : " & cCompress(TE.szModule) & "   , time : " & DA.rTime & Chr$(13)
  2253.       Call cDAGetType(DA, DA.nRows, 1, 1, TE)
  2254.       Tmp = Tmp & "R:" & DA.nRows & ", C:1  , D:1, TE.szModule : " & cCompress(TE.szModule) & "   , time : " & DA.rTime & Chr$(13)
  2255.       Call cDAGetType(DA, DA.nRows, DA.nCols, 1, TE)
  2256.       Tmp = Tmp & "R:" & DA.nRows & ", C:" & DA.nCols & ", D:1, TE.szModule : " & cCompress(TE.szModule) & "   , time : " & DA.rTime & Chr$(13)
  2257.       Call cDAGetType(DA, 1, 1, 2, TE)
  2258.       Tmp = Tmp & "R:1  , C:1  , D:2, TE.szModule : " & cCompress(TE.szModule) & "   , time : " & DA.rTime & Chr$(13)
  2259.       Call cDAGetType(DA, 1, DA.nCols, 2, TE)
  2260.       Tmp = Tmp & "R:1  , C:" & DA.nCols & ", D:2, TE.szModule : " & cCompress(TE.szModule) & "   , time : " & DA.rTime & Chr$(13)
  2261.       Call cDAGetType(DA, DA.nRows, 1, 2, TE)
  2262.       Tmp = Tmp & "R:" & DA.nRows & ", C:1  , D:2, TE.szModule : " & cCompress(TE.szModule) & "   , time : " & DA.rTime & Chr$(13)
  2263.       Call cDAGetType(DA, DA.nRows, DA.nCols, 2, TE)
  2264.       Tmp = Tmp & "R:" & DA.nRows & ", C:" & DA.nCols & ", D:2, TE.szModule : " & cCompress(TE.szModule) & "   , time : " & DA.rTime & Chr$(13)
  2265.    End If
  2266.    Call cDAClose(DA, False)
  2267.    Label3.Caption = Tmp
  2268. End Sub
  2269. Private Sub TestDecrypt()
  2270.    Dim Title      As String
  2271.    Dim Tmp        As String
  2272.    Dim Tmp1       As String
  2273.    Dim Tmp2       As String
  2274.    Dim Tmp3       As String
  2275.    Dim i          As Integer
  2276.    Dim j          As Integer
  2277.    Tmp3 = cToHexa(Format$(76543210))
  2278.    Tmp2 = "T2WIN-16"
  2279.    For i = ENCRYPT_LEVEL_0 To ENCRYPT_LEVEL_4
  2280.       Tmp = cEncrypt(Tmp2, Tmp3, i)
  2281.       Tmp1 = Tmp1 & "Decrypt (level " & i & ") of [" & Tmp & "] with '?' is "
  2282.       Tmp1 = Tmp1 & "[" & cDecrypt(Tmp, Tmp3, i) & "]" & Chr$(13) & Chr$(13)
  2283.    Next i
  2284.    cStartBasisTimer
  2285.    For i = 1 To Item
  2286.       Tmp2 = cDecrypt(Tmp2, Tmp1, ENCRYPT_LEVEL_3)
  2287.    Next i
  2288.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  2289.    Label3.Caption = Tmp1
  2290. End Sub
  2291. Private Sub TestDeviationI()
  2292.    Dim Title      As String
  2293.    Dim Tmp        As String
  2294.    Dim Tmp1       As String
  2295.    Dim Tmp2       As String
  2296.    Dim i          As Integer
  2297.    Dim j          As Integer
  2298.    Dim m          As Double
  2299.    Dim N          As Double
  2300.    ReDim array(ItemMean) As Integer
  2301.    Randomize Timer
  2302.    m = 0
  2303.    For i = LBound(array) To UBound(array)
  2304.       array(i) = Int(RandI * Rnd(1))
  2305.       m = m + array(i)
  2306.       List1.AddItem "" & array(i)
  2307.    Next i
  2308.    m = m / (UBound(array) - LBound(array) + 1)
  2309.    N = 0
  2310.    For i = LBound(array) To UBound(array)
  2311.       N = N + ((array(i) - m) * (array(i) - m))
  2312.    Next i
  2313.    N = (Sqr(N) / (UBound(array) - LBound(array) + 1))
  2314.    Tmp1 = "The Deviation of a integer array of " & (ItemMean + 1) & " elements is " & Chr$(13) & Chr$(13) & cDeviationI(array()) & " (" & N & ")" & Chr$(13) & Chr$(13)
  2315.    cStartBasisTimer
  2316.    For i = 1 To ItemFile
  2317.       m = cDeviationI(array())
  2318.    Next i
  2319.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  2320.    Label3.Caption = Tmp1
  2321. End Sub
  2322. Private Sub TestDOSGetVolLabel()
  2323.    Dim Title         As String
  2324.    Dim Tmp           As String
  2325.    Dim Tmp1          As String
  2326.    Dim Tmp2          As String
  2327.    Dim i             As Integer
  2328.    Dim j             As Integer
  2329.    For i = 1 To 4
  2330.       Tmp2 = cDOSGetVolumeLabel(Chr$(64 + i))
  2331.       If (Len(Tmp2) > 0) Then
  2332.          Tmp1 = Tmp1 & "Drive " & Chr$(64 + i) & " : '" & Tmp2 & "'" & Chr$(13)
  2333.       Else
  2334.          Tmp1 = Tmp1 & "Drive " & Chr$(64 + i) & " : no volume label" & Chr$(13)
  2335.       End If
  2336.    Next i
  2337.    Tmp1 = Tmp1 + Chr$(13)
  2338.    cStartBasisTimer
  2339.    For i = 1 To Item
  2340.       Tmp2 = cDOSGetVolumeLabel("C")
  2341.    Next i
  2342.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  2343.    Label3.Caption = Tmp1
  2344. End Sub
  2345. Private Sub TestDOSMediaID()
  2346.    Dim Title         As String
  2347.    Dim Tmp           As String
  2348.    Dim Tmp1          As String
  2349.    Dim Tmp2          As String
  2350.    Dim i             As Integer
  2351.    Dim j             As Integer
  2352.    Dim MEDIAID       As tagMEDIAID
  2353.    For i = 1 To 7
  2354.       If (cDOSGetMediaID(Chr$(64 + i), MEDIAID) = True) Then
  2355.          Tmp1 = Tmp1 & "Drive " & Chr$(64 + i) & " : " & Chr$(13)
  2356.          Tmp1 = Tmp1 & "   SerialNumber is '" & Hex$(MEDIAID.SerialNumber) & "'" & Chr$(13)
  2357.          Tmp1 = Tmp1 & "   VolLabel is '" & MEDIAID.VolLabel & "'" & Chr$(13)
  2358.          Tmp1 = Tmp1 & "   FileSysType is '" & MEDIAID.FileSysType & "'" & Chr$(13) & Chr$(13)
  2359.       Else
  2360.          Tmp1 = Tmp1 & "Drive " & Chr$(64 + i) & " : no media id" & Chr$(13) & Chr$(13)
  2361.       End If
  2362.    Next i
  2363.    Tmp1 = Tmp1 + Chr$(13)
  2364.    cStartBasisTimer
  2365.    For i = 1 To Item
  2366.       j = cDOSGetMediaID("", MEDIAID)
  2367.    Next i
  2368.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  2369.    Label3.Caption = Tmp1
  2370. End Sub
  2371. Private Sub TestDriveType()
  2372.    Dim Title      As String
  2373.    Dim Tmp        As String
  2374.    Dim Tmp1       As String
  2375.    Dim Tmp2       As String
  2376.    Dim i          As Integer
  2377.    Dim j          As Integer
  2378.    Tmp1 = ""
  2379.    For i = 1 To 26
  2380.       j = cGetDriveType(Chr$(64 + i))
  2381.       If (j > 0) Then
  2382.          Tmp1 = Tmp1 & "'" & Chr$(64 + i) & ":' is "
  2383.          Select Case j
  2384.             Case 2
  2385.                Tmp1 = Tmp1 & "removable disk" & Chr$(13)
  2386.             Case 3
  2387.                Tmp1 = Tmp1 & "fixed disk" & Chr$(13)
  2388.             Case 4
  2389.                Tmp1 = Tmp1 & "remote disk" & Chr$(13)
  2390.             Case 20
  2391.                Tmp1 = Tmp1 & "cd-rom" & Chr$(13)
  2392.          End Select
  2393.       End If
  2394.    Next i
  2395.    Tmp1 = Tmp1 + Chr$(13)
  2396.    cStartBasisTimer
  2397.    For i = 1 To Item
  2398.       j = cGetDriveType("C")
  2399.    Next i
  2400.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  2401.    Label3.Caption = Tmp1
  2402. End Sub
  2403. Private Sub TestEncrypt()
  2404.    Dim Title      As String
  2405.    Dim Tmp        As String
  2406.    Dim Tmp1       As String
  2407.    Dim Tmp2       As String
  2408.    Dim Tmp3       As String
  2409.    Dim i          As Integer
  2410.    Dim j          As Integer
  2411.    Tmp3 = cToHexa(Format$(76543210))
  2412.    Tmp2 = "T2WIN-16"
  2413.    Tmp = Text1.Text
  2414.    For i = ENCRYPT_LEVEL_0 To ENCRYPT_LEVEL_4
  2415.       Tmp1 = Tmp1 & "Encrypt (level " & i & ") of [" & Tmp2 & "] with '?' is "
  2416.       Tmp1 = Tmp1 & "[" & cEncrypt(Tmp2, Tmp3, i) & "]" & Chr$(13) & Chr$(13)
  2417.    Next i
  2418.    cStartBasisTimer
  2419.    For i = 1 To Item
  2420.       Tmp2 = cEncrypt(Tmp2, Tmp1, ENCRYPT_LEVEL_3)
  2421.    Next i
  2422.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  2423.    Label3.Caption = Tmp1
  2424. End Sub
  2425. Private Sub TestExpandTab()
  2426.    Dim Title      As String
  2427.    Dim Tmp        As String
  2428.    Dim Tmp1       As String
  2429.    Dim Tmp2       As String
  2430.    Dim i          As Integer
  2431.    Dim j          As Integer
  2432.    Tmp = "A" & Chr$(9) & "BC" & Chr$(9) & "DEF" & Chr$(9) & "GHIJ" & Chr$(9) & ""
  2433.    Title = "Expand tab (2 chars) into [" & Tmp & "] is " & Chr$(13) & Chr$(13)
  2434.    Tmp1 = Title & cExpandTab(Tmp, 2) & Chr$(13) & Chr$(13)
  2435.    Tmp = "A" & Chr$(9) & "BC" & Chr$(9) & "DEF" & Chr$(9) & "GHIJ" & Chr$(9) & ""
  2436.    Title = "Expand tab (4 chars) into [" & Tmp & "] is " & Chr$(13) & Chr$(13)
  2437.    Tmp1 = Tmp1 & Title & cExpandTab(Tmp, 4) & Chr$(13) & Chr$(13)
  2438.    cStartBasisTimer
  2439.    For i = 1 To Item
  2440.       Tmp2 = cExpandTab(Tmp, 3)
  2441.    Next i
  2442.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  2443.    Label3.Caption = Tmp1
  2444. End Sub
  2445. Private Sub TestFileChangeChars()
  2446.    Dim Title      As String
  2447.    Dim Tmp        As String
  2448.    Dim Tmp1       As String
  2449.    Dim Tmp2       As String
  2450.    Dim Tmp3       As String
  2451.    Dim Tmp4       As String
  2452.    Dim i          As Integer
  2453.    Dim j          As Long
  2454.    Tmp1 = ""
  2455.    Tmp = "c:\autoexec.bat"
  2456.    Tmp2 = "c:\autoexec.tab"
  2457.    Tmp3 = "REM"
  2458.    Tmp4 = "rem"
  2459.    Tmp1 = Tmp1 & "File Copy " & Tmp & " to " & Tmp2 & " is " & cFileCopy(Tmp, Tmp2) & Chr$(13) & Chr$(13)
  2460.    Tmp1 = Tmp1 & "File Change Chars : '" & Tmp3 & "' -> '" & Tmp4 & "' in '" & Tmp2 & "' is " & cFileChangeChars(Tmp2, Tmp3, Tmp4, "c:\tmp.tmp") & Chr$(13) & Chr$(13)
  2461.    cStartBasisTimer
  2462.    For i = 1 To Item
  2463.       If ((i Mod 2) = 1) Then
  2464.          j = cFileChangeChars(Tmp2, Tmp3, Tmp4, "")
  2465.       Else
  2466.          j = cFileChangeChars(Tmp2, Tmp4, Tmp3, "")
  2467.       End If
  2468.    Next i
  2469.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  2470.    Label3.Caption = Tmp1
  2471. End Sub
  2472. Private Sub TestFileCmp()
  2473.    Dim Title      As String
  2474.    Dim Tmp        As String
  2475.    Dim Tmp1       As String
  2476.    Dim Tmp2       As String
  2477.    Dim i          As Integer
  2478.    Dim j          As Integer
  2479.    Tmp1 = ""
  2480.    Tmp = "c:\autoexec.bat"
  2481.    Tmp2 = "c:\tmp\autoexec.bat"
  2482.    Tmp1 = Tmp1 & "Compare file attribute " & Tmp & " with " & Tmp2 & " is " & cCmpFileAttribute(Tmp, Tmp2) & Chr$(13)
  2483.    Tmp1 = Tmp1 & "Compare file size " & Tmp & " with " & Tmp2 & " is " & cCmpFileSize(Tmp, Tmp2) & Chr$(13)
  2484.    Tmp1 = Tmp1 & "Compare file time " & Tmp & " with " & Tmp2 & " is " & cCmpFileTime(Tmp, Tmp2) & Chr$(13)
  2485.    Tmp1 = Tmp1 & "Compare file contents (case sensitive) " & Tmp & " with " & Tmp2 & " is " & cCmpFileContents(Tmp, Tmp2, True) & Chr$(13)
  2486.    Tmp1 = Tmp1 & "Compare file contents (not sensitive) " & Tmp & " with " & Tmp2 & " is " & cCmpFileContents(Tmp, Tmp2, False) & Chr$(13) & Chr$(13)
  2487.    cStartBasisTimer
  2488.    For i = 1 To Item
  2489.       j = cCmpFileSize(Tmp, Tmp2)
  2490.    Next i
  2491.    Tmp1 = Tmp1 & "file size speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  2492.    cStartBasisTimer
  2493.    For i = 1 To Item
  2494.       j = cCmpFileContents(Tmp, Tmp2, True)
  2495.    Next i
  2496.    Tmp1 = Tmp1 & "file contents (cs) speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  2497.    cStartBasisTimer
  2498.    For i = 1 To Item
  2499.       j = cCmpFileContents(Tmp, Tmp2, False)
  2500.    Next i
  2501.    Tmp1 = Tmp1 & "file contents (ns) speed for " & Item & " = " & cReadBasisTimer() & " ms"
  2502.    Label3.Caption = Tmp1
  2503. End Sub
  2504. Private Sub TestFileCompress()
  2505.    Dim Title      As String
  2506.    Dim Tmp        As String
  2507.    Dim Tmp1       As String
  2508.    Dim Tmp2       As String
  2509.    Dim Tmp3       As String
  2510.    Dim i          As Integer
  2511.    Dim j          As Long
  2512.    Tmp1 = ""
  2513.    Tmp = "c:\autoexec.bat"
  2514.    Tmp2 = "c:\autoexec.tb1"
  2515.    Tmp3 = "c:\autoexec.tb2"
  2516.    Tmp1 = Tmp1 & "File Compress '" & Tmp & "' to '" & Tmp2 & "' is " & cFileCompress(Tmp, Tmp2) & Chr$(13)
  2517.    Tmp1 = Tmp1 & "File Expand '" & Tmp2 & "' to '" & Tmp3 & "' is " & cFileExpand(Tmp2, Tmp3) & Chr$(13)
  2518.    Tmp1 = Tmp1 & "Compare file contents (not sensitive) '" & Tmp & "' with '" & Tmp3 & "' is " & IIf(cCmpFileContents(Tmp, Tmp3, False) = -1, "same", "not same") & Chr$(13) & Chr$(13)
  2519.    cStartBasisTimer
  2520.    For i = 1 To Item
  2521.       j = cFileCompress(Tmp, Tmp2)
  2522.    Next i
  2523.    j = cFileExpand(Tmp2, Tmp3)
  2524.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  2525.    Label3.Caption = Tmp1
  2526. End Sub
  2527. Private Sub TestFileCompressTab()
  2528.    Dim Title      As String
  2529.    Dim Tmp        As String
  2530.    Dim Tmp1       As String
  2531.    Dim Tmp2       As String
  2532.    Dim Tmp3       As String
  2533.    Dim i          As Integer
  2534.    Dim j          As Long
  2535.    Tmp1 = ""
  2536.    Tmp = "c:\autoexec.bat"
  2537.    Tmp2 = "c:\autoexec.tb1"
  2538.    Tmp3 = "c:\autoexec.tb2"
  2539.    For i = 1 To 4
  2540.       Tmp1 = Tmp1 & "File CompressTab (" & i & " spaces = 1 tab) " & Tmp & " to " & Tmp2 & " is " & cFileCompressTab(Tmp, Tmp2, i) & Chr$(13)
  2541.       Tmp1 = Tmp1 & "File ExpandTab (" & i & " spaces = 1 tab) " & Tmp2 & " to " & Tmp3 & " is " & cFileExpandTab(Tmp2, Tmp3, i) & Chr$(13)
  2542.       Tmp1 = Tmp1 & "Compare file contents (not sensitive) '" & Tmp & "' with '" & Tmp3 & "' is " & IIf(cCmpFileContents(Tmp, Tmp3, False) = -1, "same", "not same") & Chr$(13) & Chr$(13)
  2543.    Next i
  2544.    cStartBasisTimer
  2545.    For i = 1 To Item
  2546.       j = cFileCompressTab(Tmp, Tmp2, 3)
  2547.    Next i
  2548.    j = cFileExpandTab(Tmp2, Tmp3, 3)
  2549.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  2550.    Label3.Caption = Tmp1
  2551. End Sub
  2552. Private Sub TestFileCopy()
  2553.    Dim Title      As String
  2554.    Dim Tmp        As String
  2555.    Dim Tmp1       As String
  2556.    Dim Tmp2       As String
  2557.    Dim i          As Integer
  2558.    Dim j          As Long
  2559.    Tmp1 = ""
  2560.    Tmp = "c:\autoexec.bat"
  2561.    Tmp2 = "c:\autoexec.tab"
  2562.    Tmp1 = Tmp1 & "File Copy " & Tmp & " to " & Tmp2 & " is " & cFileCopy(Tmp, Tmp2) & Chr$(13) & Chr$(13)
  2563.    cStartBasisTimer
  2564.    For i = 1 To Item
  2565.       j = cFileCopy(Tmp, Tmp2)
  2566.    Next i
  2567.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  2568.    Label3.Caption = Tmp1
  2569. End Sub
  2570. Private Sub TestFileCRC32()
  2571.    Dim Title      As String
  2572.    Dim Tmp        As String
  2573.    Dim Tmp1       As String
  2574.    Dim Tmp2       As String
  2575.    Dim i          As Integer
  2576.    Dim j          As Integer
  2577.    Dim k          As Long
  2578.    Tmp = "c:\config.sys"
  2579.    Title = "CRC32 for file '" & Tmp & "' is "
  2580.    Tmp1 = Tmp1 & Title & Hex$(cFileCRC32(Tmp, OPEN_MODE_BINARY)) & Chr$(13) & Chr$(13)
  2581.    Tmp = "c:\autoexec.bat"
  2582.    Title = "CRC32 for file '" & Tmp & "' is "
  2583.    Tmp1 = Tmp1 & Title & Hex$(cFileCRC32(Tmp, OPEN_MODE_BINARY)) & Chr$(13) & Chr$(13)
  2584.    Tmp = "c:\command.com"
  2585.    Title = "CRC32 for file '" & Tmp & "' is "
  2586.    Tmp1 = Tmp1 & Title & Hex$(cFileCRC32(Tmp, OPEN_MODE_BINARY)) & Chr$(13) & Chr$(13)
  2587.    cStartBasisTimer
  2588.    For i = 1 To ItemFile
  2589.       k = cFileCRC32(Tmp, OPEN_MODE_BINARY)
  2590.    Next i
  2591.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  2592.    Label3.Caption = Tmp1
  2593. End Sub
  2594. Private Sub TestFileEncrypt()
  2595.    Dim Title      As String
  2596.    Dim Tmp        As String
  2597.    Dim Tmp1       As String
  2598.    Dim Tmp2       As String
  2599.    Dim Tmp3       As String
  2600.    Dim Tmp4       As String
  2601.    Dim i          As Integer
  2602.    Dim j          As Long
  2603.    Tmp1 = ""
  2604.    Tmp = "c:\autoexec.bat"
  2605.    Tmp2 = "c:\ac.tb1"
  2606.    Tmp3 = "c:\ac.tb2"
  2607.    Tmp4 = cToHexa(Format$(76543210))
  2608.    For i = ENCRYPT_LEVEL_0 To ENCRYPT_LEVEL_4
  2609.       Tmp1 = Tmp1 & "Encrypt (level " & i & ") '" & Tmp & "' with '?' to '" & Tmp2 & "' is " & cFileEncrypt(Tmp, Tmp2, Tmp4, i) & Chr$(13)
  2610.       Tmp1 = Tmp1 & "Decrypt (level " & i & ") '" & Tmp2 & "' with '?' to '" & Tmp3 & "' is " & cFileDecrypt(Tmp2, Tmp3, Tmp4, i) & Chr$(13)
  2611.       Tmp1 = Tmp1 & "Compare (ns) '" & Tmp & "' with '" & Tmp3 & "' is " & IIf(cCmpFileContents(Tmp, Tmp3, False) = -1, "same", "not same") & Chr$(13) & Chr$(13)
  2612.    Next i
  2613.    cStartBasisTimer
  2614.    For i = 1 To Item
  2615.       j = cFileEncrypt(Tmp, Tmp2, Tmp4, ENCRYPT_LEVEL_3)
  2616.    Next i
  2617.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  2618.    Label3.Caption = Tmp1
  2619. End Sub
  2620. Private Sub TestFileFilter()
  2621.    Dim Title      As String
  2622.    Dim Tmp        As String
  2623.    Dim Tmp1       As String
  2624.    Dim Tmp2       As String
  2625.    Dim Tmp3       As String
  2626.    Dim i          As Integer
  2627.    Dim j          As Long
  2628.    Tmp1 = ""
  2629.    Tmp = "c:\autoexec.bat"
  2630.    Tmp2 = "c:\autoexec.tab"
  2631.    Tmp3 = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
  2632.    Tmp3 = Tmp3 + LCase$(Tmp)
  2633.    Tmp1 = Tmp1 & "File Filter (A-Z, a-z) " & Tmp & " to " & Tmp2 & " is " & cFileFilter(Tmp, Tmp2, Tmp3) & Chr$(13) & Chr$(13)
  2634.    cStartBasisTimer
  2635.    For i = 1 To Item
  2636.       j = cFileFilter(Tmp, Tmp2, Tmp3)
  2637.    Next i
  2638.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  2639.    Label3.Caption = Tmp1
  2640. End Sub
  2641. Private Sub TestFileFilterNot()
  2642.    Dim Title      As String
  2643.    Dim Tmp        As String
  2644.    Dim Tmp1       As String
  2645.    Dim Tmp2       As String
  2646.    Dim Tmp3       As String
  2647.    Dim i          As Integer
  2648.    Dim j          As Long
  2649.    Tmp1 = ""
  2650.    Tmp = "c:\autoexec.bat"
  2651.    Tmp2 = "c:\autoexec.tab"
  2652.    Tmp3 = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
  2653.    Tmp3 = Tmp3 + LCase$(Tmp) + " =" + Chr$(13) + Chr$(10)
  2654.    Tmp1 = Tmp1 & "File Filter Not in (A-Z, a-z, CR, LF, SPACE, =) " & Tmp & " to " & Tmp2 & " is " & cFileFilterNot(Tmp, Tmp2, Tmp3) & Chr$(13) & Chr$(13)
  2655.    cStartBasisTimer
  2656.    For i = 1 To Item
  2657.       j = cFileFilterNot(Tmp, Tmp2, Tmp3)
  2658.    Next i
  2659.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  2660.    Label3.Caption = Tmp1
  2661. End Sub
  2662. Private Sub TestFileGetAttrib()
  2663.    Dim Title      As String
  2664.    Dim Tmp        As String
  2665.    Dim Tmp1       As String
  2666.    Dim Tmp2       As String
  2667.    Dim i          As Integer
  2668.    Dim j          As Integer
  2669.    Dim FileAttrib As FileAttributeType
  2670.    Tmp1 = ""
  2671.    Tmp = cFilesInDirectory("*.*", True)
  2672.    j = cFileGetAttrib(Tmp, FileAttrib)
  2673.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Archive, " is Archive", " is not Archive") & Chr$(13)
  2674.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Hidden, " is Hidden", " is not Hidden") & Chr$(13)
  2675.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.ReadOnly, " is ReadOnly", " is not ReadOnly") & Chr$(13)
  2676.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.SubDir, " is SubDir", " is not SubDir") & Chr$(13)
  2677.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.System, " is System", " is not System") & Chr$(13) & Chr$(13)
  2678.    Tmp = cSubDirectory("*.*", True)
  2679.    Tmp = cSubDirectory("*.*", False)
  2680.    Tmp = cSubDirectory("*.*", False)
  2681.    j = cFileGetAttrib(Tmp, FileAttrib)
  2682.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Archive, " is Archive", " is not Archive") & Chr$(13)
  2683.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Hidden, " is Hidden", " is not Hidden") & Chr$(13)
  2684.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.ReadOnly, " is ReadOnly", " is not ReadOnly") & Chr$(13)
  2685.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.SubDir, " is SubDir", " is not SubDir") & Chr$(13)
  2686.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.System, " is System", " is not System") & Chr$(13) & Chr$(13)
  2687.    cStartBasisTimer
  2688.    For i = 1 To Item
  2689.       j = cFileGetAttrib(Tmp, FileAttrib)
  2690.    Next i
  2691.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  2692.    Label3.Caption = Tmp1
  2693. End Sub
  2694. Private Sub TestFileLineCount()
  2695.    Dim Title      As String
  2696.    Dim Tmp        As String
  2697.    Dim Tmp1       As String
  2698.    Dim Tmp2       As String
  2699.    Dim Tmp3       As String
  2700.    Dim i          As Integer
  2701.    Dim j          As Long
  2702.    Tmp1 = ""
  2703.    Tmp = "C:\AUTOEXEC.BAT"
  2704.    Tmp1 = Tmp1 & "Total lines in '" & Tmp & "' are " & cFileLineCount(Tmp) & Chr$(13) & Chr$(13)
  2705.    Tmp = "C:\CONFIG.SYS"
  2706.    Tmp1 = Tmp1 & "Total lines in '" & Tmp & "' are " & cFileLineCount(Tmp) & Chr$(13) & Chr$(13)
  2707.    cStartBasisTimer
  2708.    For i = 1 To Item
  2709.       j = cFileLineCount(Tmp)
  2710.    Next i
  2711.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  2712.    Label3.Caption = Tmp1
  2713. End Sub
  2714. Private Sub TestFileMerge()
  2715.    Dim Title      As String
  2716.    Dim Tmp        As String
  2717.    Dim Tmp1       As String
  2718.    Dim Tmp2       As String
  2719.    Dim Tmp3       As String
  2720.    Dim i          As Integer
  2721.    Dim j          As Long
  2722.    Tmp1 = ""
  2723.    Tmp = "c:\autoexec.bat"
  2724.    Tmp2 = "c:\config.sys"
  2725.    Tmp3 = "c:\merge.byt"
  2726.    Tmp1 = Tmp1 & "File Merge '" & Tmp & "' and '" & Tmp2 & "' to '" & Tmp3 & "' is " & cFileMerge(Tmp, Tmp2, Tmp3) & Chr$(13) & Chr$(13)
  2727.    cStartBasisTimer
  2728.    For i = 1 To Item
  2729.       j = cFileMerge(Tmp, Tmp2, Tmp3)
  2730.    Next i
  2731.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  2732.    Label3.Caption = Tmp1
  2733. End Sub
  2734. Private Sub TestFilePathExists()
  2735.    Dim Title      As String
  2736.    Dim Tmp        As String
  2737.    Dim Tmp1       As String
  2738.    Dim Tmp2       As String
  2739.    Dim i          As Integer
  2740.    Dim j          As Integer
  2741.    Tmp1 = "File t2win-16.dll " & IIf(cFilePathExists("t2win-16.dll") = True, "found", "not found") & Chr$(13) & Chr$(13)
  2742.    Tmp1 = Tmp1 & "Path \windows " & IIf(cFilePathExists("\windows") = True, "found", "not found") & Chr$(13) & Chr$(13)
  2743.    Tmp1 = Tmp1 & "Path \windows\wintime " & IIf(cFilePathExists("\windows\wintime") = True, "found", "not found") & Chr$(13) & Chr$(13)
  2744.    cStartBasisTimer
  2745.    For i = 1 To Item
  2746.       j = cFilePathExists("t2win-16.dll")
  2747.    Next i
  2748.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  2749.    Label3.Caption = Tmp1
  2750. End Sub
  2751. Private Sub TestFileResetAllAttrib()
  2752.    Dim Title      As String
  2753.    Dim Tmp        As String
  2754.    Dim Tmp1       As String
  2755.    Dim Tmp2       As String
  2756.    Dim i          As Integer
  2757.    Dim j          As Integer
  2758.    Dim FileAttrib As FileAttributeType
  2759.    Tmp1 = ""
  2760.    Tmp = "TEST.DAT"
  2761.    Call CreateFile
  2762.    FileAttrib.Archive = False
  2763.    FileAttrib.Hidden = True
  2764.    FileAttrib.ReadOnly = True
  2765.    FileAttrib.System = True
  2766.    j = cFileResetAllAttrib(Tmp)
  2767.    j = cFileGetAttrib(Tmp, FileAttrib)
  2768.    Tmp1 = "File " & Tmp & " has been reset with" & Chr$(13)
  2769.    Tmp1 = Tmp1 & " flag archive" & Chr$(13)
  2770.    Tmp1 = Tmp1 & " flag hidden" & Chr$(13)
  2771.    Tmp1 = Tmp1 & " flag read-only" & Chr$(13)
  2772.    Tmp1 = Tmp1 & " flag system" & Chr$(13) & Chr$(13)
  2773.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Archive, " is Archive", " is not Archive") & Chr$(13)
  2774.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Hidden, " is Hidden", " is not Hidden") & Chr$(13)
  2775.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.ReadOnly, " is ReadOnly", " is not ReadOnly") & Chr$(13)
  2776.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.System, " is System", " is not System") & Chr$(13) & Chr$(13)
  2777.    cStartBasisTimer
  2778.    For i = 1 To ItemFile
  2779.       j = cFileResetAllAttrib(Tmp)
  2780.    Next i
  2781.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  2782.    Label3.Caption = Tmp1
  2783. End Sub
  2784. Private Sub TestFileResetArchive()
  2785.    Dim Title      As String
  2786.    Dim Tmp        As String
  2787.    Dim Tmp1       As String
  2788.    Dim Tmp2       As String
  2789.    Dim i          As Integer
  2790.    Dim j          As Integer
  2791.    Dim nArchive   As Integer
  2792.    Dim nHidden    As Integer
  2793.    Dim nReadOnly  As Integer
  2794.    Dim nSubDir    As Integer
  2795.    Dim nSystem    As Integer
  2796.    Dim FileAttrib As FileAttributeType
  2797.    Tmp1 = ""
  2798.    Tmp = "TEST.DAT"
  2799.    Call CreateFile
  2800.    j = cFileSetAllAttrib(Tmp)
  2801.    j = cFileResetArchive(Tmp)
  2802.    j = cFileGetAttrib(Tmp, FileAttrib)
  2803.    Tmp1 = "File " & Tmp & " has been reset with" & Chr$(13)
  2804.    Tmp1 = Tmp1 & " flag archive" & Chr$(13) & Chr$(13)
  2805.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Archive, " is Archive", " is not Archive") & Chr$(13)
  2806.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Hidden, " is Hidden", " is not Hidden") & Chr$(13)
  2807.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.ReadOnly, " is ReadOnly", " is not ReadOnly") & Chr$(13)
  2808.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.System, " is System", " is not System") & Chr$(13) & Chr$(13)
  2809.    cStartBasisTimer
  2810.    For i = 1 To ItemFile
  2811.       j = cFileResetArchive(Tmp)
  2812.    Next i
  2813.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  2814.    Label3.Caption = Tmp1
  2815. End Sub
  2816. Private Sub TestFileResetHidden()
  2817.    Dim Title      As String
  2818.    Dim Tmp        As String
  2819.    Dim Tmp1       As String
  2820.    Dim Tmp2       As String
  2821.    Dim i          As Integer
  2822.    Dim j          As Integer
  2823.    Dim nArchive   As Integer
  2824.    Dim nHidden    As Integer
  2825.    Dim nReadOnly  As Integer
  2826.    Dim nSubDir    As Integer
  2827.    Dim nSystem    As Integer
  2828.    Dim FileAttrib As FileAttributeType
  2829.    Tmp1 = ""
  2830.    Tmp = "TEST.DAT"
  2831.    Call CreateFile
  2832.    j = cFileSetAllAttrib(Tmp)
  2833.    j = cFileResetHidden(Tmp)
  2834.    j = cFileGetAttrib(Tmp, FileAttrib)
  2835.    Tmp1 = "File " & Tmp & " has been reset with" & Chr$(13)
  2836.    Tmp1 = Tmp1 & " flag hidden" & Chr$(13) & Chr$(13)
  2837.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Archive, " is Archive", " is not Archive") & Chr$(13)
  2838.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Hidden, " is Hidden", " is not Hidden") & Chr$(13)
  2839.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.ReadOnly, " is ReadOnly", " is not ReadOnly") & Chr$(13)
  2840.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.System, " is System", " is not System") & Chr$(13) & Chr$(13)
  2841.    cStartBasisTimer
  2842.    For i = 1 To ItemFile
  2843.       j = cFileResetHidden(Tmp)
  2844.    Next i
  2845.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  2846.    Label3.Caption = Tmp1
  2847. End Sub
  2848. Private Sub TestFileResetReadOnly()
  2849.    Dim Title      As String
  2850.    Dim Tmp        As String
  2851.    Dim Tmp1       As String
  2852.    Dim Tmp2       As String
  2853.    Dim i          As Integer
  2854.    Dim j          As Integer
  2855.    Dim FileAttrib As FileAttributeType
  2856.    Dim nArchive   As Integer
  2857.    Dim nHidden    As Integer
  2858.    Dim nReadOnly  As Integer
  2859.    Dim nSubDir    As Integer
  2860.    Dim nSystem    As Integer
  2861.    Tmp1 = ""
  2862.    Tmp = "TEST.DAT"
  2863.    Call CreateFile
  2864.    j = cFileSetAllAttrib(Tmp)
  2865.    j = cFileResetReadOnly(Tmp)
  2866.    j = cFileGetAttrib(Tmp, FileAttrib)
  2867.    Tmp1 = "File " & Tmp & " has been reset with" & Chr$(13)
  2868.    Tmp1 = Tmp1 & " flag read-only" & Chr$(13) & Chr$(13)
  2869.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Archive, " is Archive", " is not Archive") & Chr$(13)
  2870.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Hidden, " is Hidden", " is not Hidden") & Chr$(13)
  2871.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.ReadOnly, " is ReadOnly", " is not ReadOnly") & Chr$(13)
  2872.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.System, " is System", " is not System") & Chr$(13) & Chr$(13)
  2873.    cStartBasisTimer
  2874.    For i = 1 To ItemFile
  2875.       j = cFileResetReadOnly(Tmp)
  2876.    Next i
  2877.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  2878.    Label3.Caption = Tmp1
  2879. End Sub
  2880. Private Sub TestFileResetSystem()
  2881.    Dim Title      As String
  2882.    Dim Tmp        As String
  2883.    Dim Tmp1       As String
  2884.    Dim Tmp2       As String
  2885.    Dim i          As Integer
  2886.    Dim j          As Integer
  2887.    Dim FileAttrib As FileAttributeType
  2888.    Tmp1 = ""
  2889.    Tmp = "TEST.DAT"
  2890.    Call CreateFile
  2891.    j = cFileSetAllAttrib(Tmp)
  2892.    j = cFileResetSystem(Tmp)
  2893.    j = cFileGetAttrib(Tmp, FileAttrib)
  2894.    Tmp1 = "File " & Tmp & " has been reset with" & Chr$(13)
  2895.    Tmp1 = Tmp1 & " flag system" & Chr$(13) & Chr$(13)
  2896.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Archive, " is Archive", " is not Archive") & Chr$(13)
  2897.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Hidden, " is Hidden", " is not Hidden") & Chr$(13)
  2898.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.ReadOnly, " is ReadOnly", " is not ReadOnly") & Chr$(13)
  2899.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.System, " is System", " is not System") & Chr$(13) & Chr$(13)
  2900.    cStartBasisTimer
  2901.    For i = 1 To ItemFile
  2902.       j = cFileResetSystem(Tmp)
  2903.    Next i
  2904.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  2905.    Label3.Caption = Tmp1
  2906. End Sub
  2907. Private Sub TestFileS()
  2908.    Dim Title      As String
  2909.    Dim Tmp        As String
  2910.    Dim Tmp1       As String
  2911.    Dim Tmp2       As String
  2912.    Dim Tmp3       As String
  2913.    Dim Tmp4       As String
  2914.    Dim i          As Integer
  2915.    Dim j          As Long
  2916.    Tmp1 = ""
  2917.    Tmp = "c:\autoexec.bat"
  2918.    Tmp3 = "re"
  2919.    Tmp4 = "SET"
  2920.    Tmp1 = Tmp1 & "File Search (insensitive) : '" & Tmp3 & "' in '" & Tmp & "' is " & cFileSearch(Tmp, Tmp3, False) & Chr$(13) & Chr$(13)
  2921.    Tmp1 = Tmp1 & "File Search and Count (insensitive) : '" & Tmp3 & "' in '" & Tmp & "' is " & cFileSearchCount(Tmp, Tmp3, False) & Chr$(13) & Chr$(13)
  2922.    Tmp1 = Tmp1 & "File Search (insensitive) : '" & Tmp4 & "' in '" & Tmp & "' is " & cFileSearch(Tmp, Tmp4, False) & Chr$(13) & Chr$(13)
  2923.    Tmp1 = Tmp1 & "File Search and Count (insensitive) : '" & Tmp4 & "' in '" & Tmp & "' is " & cFileSearchCount(Tmp, Tmp4, False) & Chr$(13) & Chr$(13)
  2924.    Tmp1 = Tmp1 & "File Search (sensitive) : '" & Tmp3 & "' in '" & Tmp & "' is " & cFileSearch(Tmp, Tmp3, True) & Chr$(13) & Chr$(13)
  2925.    Tmp1 = Tmp1 & "File Search and Count (sensitive) : '" & Tmp3 & "' in '" & Tmp & "' is " & cFileSearchCount(Tmp, Tmp3, True) & Chr$(13) & Chr$(13)
  2926.    Tmp1 = Tmp1 & "File Search (sensitive) : '" & Tmp4 & "' in '" & Tmp & "' is " & cFileSearch(Tmp, Tmp4, True) & Chr$(13) & Chr$(13)
  2927.    Tmp1 = Tmp1 & "File Search and Count (sensitive) : '" & Tmp4 & "' in '" & Tmp & "' is " & cFileSearchCount(Tmp, Tmp4, True) & Chr$(13) & Chr$(13)
  2928.    cStartBasisTimer
  2929.    For i = 1 To Item
  2930.       If ((i Mod 2) = 1) Then
  2931.          j = cFileSearch(Tmp, Tmp3, False)
  2932.       Else
  2933.          j = cFileSearchCount(Tmp, Tmp3, False)
  2934.       End If
  2935.    Next i
  2936.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  2937.    Label3.Caption = Tmp1
  2938. End Sub
  2939. Private Sub TestFileSetAllAttrib()
  2940.    Dim Title      As String
  2941.    Dim Tmp        As String
  2942.    Dim Tmp1       As String
  2943.    Dim Tmp2       As String
  2944.    Dim i          As Integer
  2945.    Dim j          As Integer
  2946.    Dim FileAttrib As FileAttributeType
  2947.    Tmp1 = ""
  2948.    Tmp = "TEST.DAT"
  2949.    Call CreateFile
  2950.    j = cFileSetAllAttrib(Tmp)
  2951.    j = cFileGetAttrib(Tmp, FileAttrib)
  2952.    Tmp1 = "File " & Tmp & " has been set with" & Chr$(13)
  2953.    Tmp1 = Tmp1 & " flag archive" & Chr$(13)
  2954.    Tmp1 = Tmp1 & " flag hidden" & Chr$(13)
  2955.    Tmp1 = Tmp1 & " flag read-only" & Chr$(13)
  2956.    Tmp1 = Tmp1 & " flag system" & Chr$(13) & Chr$(13)
  2957.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Archive, " is Archive", " is not Archive") & Chr$(13)
  2958.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Hidden, " is Hidden", " is not Hidden") & Chr$(13)
  2959.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.ReadOnly, " is ReadOnly", " is not ReadOnly") & Chr$(13)
  2960.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.System, " is System", " is not System") & Chr$(13) & Chr$(13)
  2961.    cStartBasisTimer
  2962.    For i = 1 To ItemFile
  2963.       j = cFileSetAllAttrib(Tmp)
  2964.    Next i
  2965.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  2966.    Label3.Caption = Tmp1
  2967. End Sub
  2968. Private Sub TestFileSetArchive()
  2969.    Dim Title      As String
  2970.    Dim Tmp        As String
  2971.    Dim Tmp1       As String
  2972.    Dim Tmp2       As String
  2973.    Dim i          As Integer
  2974.    Dim j          As Integer
  2975.    Dim FileAttrib As FileAttributeType
  2976.    Tmp1 = ""
  2977.    Tmp = "TEST.DAT"
  2978.    Call CreateFile
  2979.    j = cFileSetArchive(Tmp)
  2980.    j = cFileGetAttrib(Tmp, FileAttrib)
  2981.    Tmp1 = "File " & Tmp & " has been set with" & Chr$(13)
  2982.    Tmp1 = Tmp1 & " flag archive" & Chr$(13) & Chr$(13)
  2983.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Archive, " is Archive", " is not Archive") & Chr$(13)
  2984.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Hidden, " is Hidden", " is not Hidden") & Chr$(13)
  2985.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.ReadOnly, " is ReadOnly", " is not ReadOnly") & Chr$(13)
  2986.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.System, " is System", " is not System") & Chr$(13) & Chr$(13)
  2987.    cStartBasisTimer
  2988.    For i = 1 To ItemFile
  2989.       j = cFileSetArchive(Tmp)
  2990.    Next i
  2991.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  2992.    Label3.Caption = Tmp1
  2993. End Sub
  2994. Private Sub TestFileSetAttrib()
  2995.    Dim Title      As String
  2996.    Dim Tmp        As String
  2997.    Dim Tmp1       As String
  2998.    Dim Tmp2       As String
  2999.    Dim i          As Integer
  3000.    Dim j          As Integer
  3001.    Dim FileAttrib As FileAttributeType
  3002.    Tmp1 = ""
  3003.    Tmp = "TEST.DAT"
  3004.    Call CreateFile
  3005.    FileAttrib.Archive = False
  3006.    FileAttrib.Hidden = True
  3007.    FileAttrib.ReadOnly = True
  3008.    FileAttrib.System = True
  3009.    j = cFileSetAttrib(Tmp, FileAttrib)
  3010.    j = cFileGetAttrib(Tmp, FileAttrib)
  3011.    Tmp1 = "File " & Tmp & " has been set with" & Chr$(13)
  3012.    Tmp1 = Tmp1 & " flag hidden" & Chr$(13)
  3013.    Tmp1 = Tmp1 & " flag read-only" & Chr$(13)
  3014.    Tmp1 = Tmp1 & " flag system" & Chr$(13) & Chr$(13)
  3015.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Archive, " is Archive", " is not Archive") & Chr$(13)
  3016.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Hidden, " is Hidden", " is not Hidden") & Chr$(13)
  3017.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.ReadOnly, " is ReadOnly", " is not ReadOnly") & Chr$(13)
  3018.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.System, " is System", " is not System") & Chr$(13) & Chr$(13)
  3019.    cStartBasisTimer
  3020.    For i = 1 To ItemFile
  3021.       j = cFileSetAttrib(Tmp, FileAttrib)
  3022.    Next i
  3023.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  3024.    Label3.Caption = Tmp1
  3025. End Sub
  3026. Private Sub TestFileSetHidden()
  3027.    Dim Title      As String
  3028.    Dim Tmp        As String
  3029.    Dim Tmp1       As String
  3030.    Dim Tmp2       As String
  3031.    Dim i          As Integer
  3032.    Dim j          As Integer
  3033.    Dim FileAttrib As FileAttributeType
  3034.    Tmp1 = ""
  3035.    Tmp = "TEST.DAT"
  3036.    Call CreateFile
  3037.    j = cFileSetHidden(Tmp)
  3038.    j = cFileGetAttrib(Tmp, FileAttrib)
  3039.    Tmp1 = "File " & Tmp & " has been set with" & Chr$(13)
  3040.    Tmp1 = Tmp1 & " flag hidden" & Chr$(13) & Chr$(13)
  3041.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Archive, " is Archive", " is not Archive") & Chr$(13)
  3042.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Hidden, " is Hidden", " is not Hidden") & Chr$(13)
  3043.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.ReadOnly, " is ReadOnly", " is not ReadOnly") & Chr$(13)
  3044.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.System, " is System", " is not System") & Chr$(13) & Chr$(13)
  3045.    cStartBasisTimer
  3046.    For i = 1 To ItemFile
  3047.       j = cFileSetHidden(Tmp)
  3048.    Next i
  3049.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  3050.    Label3.Caption = Tmp1
  3051. End Sub
  3052. Private Sub TestFileSetReadOnly()
  3053.    Dim Title      As String
  3054.    Dim Tmp        As String
  3055.    Dim Tmp1       As String
  3056.    Dim Tmp2       As String
  3057.    Dim i          As Integer
  3058.    Dim j          As Integer
  3059.    Dim FileAttrib As FileAttributeType
  3060.    Tmp1 = ""
  3061.    Tmp = "TEST.DAT"
  3062.    Call CreateFile
  3063.    j = cFileSetReadOnly(Tmp)
  3064.    j = cFileGetAttrib(Tmp, FileAttrib)
  3065.    Tmp1 = "File " & Tmp & " has been set with" & Chr$(13)
  3066.    Tmp1 = Tmp1 & " flag read-only" & Chr$(13) & Chr$(13)
  3067.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Archive, " is Archive", " is not Archive") & Chr$(13)
  3068.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Hidden, " is Hidden", " is not Hidden") & Chr$(13)
  3069.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.ReadOnly, " is ReadOnly", " is not ReadOnly") & Chr$(13)
  3070.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.System, " is System", " is not System") & Chr$(13) & Chr$(13)
  3071.    cStartBasisTimer
  3072.    For i = 1 To ItemFile
  3073.       j = cFileSetReadOnly(Tmp)
  3074.    Next i
  3075.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  3076.    Label3.Caption = Tmp1
  3077. End Sub
  3078. Private Sub TestFileSetSystem()
  3079.    Dim Title      As String
  3080.    Dim Tmp        As String
  3081.    Dim Tmp1       As String
  3082.    Dim Tmp2       As String
  3083.    Dim i          As Integer
  3084.    Dim j          As Integer
  3085.    Dim FileAttrib As FileAttributeType
  3086.    Tmp1 = ""
  3087.    Tmp = "TEST.DAT"
  3088.    Call CreateFile
  3089.    j = cFileSetSystem(Tmp)
  3090.    j = cFileGetAttrib(Tmp, FileAttrib)
  3091.    Tmp1 = "File " & Tmp & " has been set with" & Chr$(13)
  3092.    Tmp1 = Tmp1 & " flag system" & Chr$(13) & Chr$(13)
  3093.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Archive, " is Archive", " is not Archive") & Chr$(13)
  3094.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Hidden, " is Hidden", " is not Hidden") & Chr$(13)
  3095.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.ReadOnly, " is ReadOnly", " is not ReadOnly") & Chr$(13)
  3096.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.System, " is System", " is not System") & Chr$(13) & Chr$(13)
  3097.    cStartBasisTimer
  3098.    For i = 1 To ItemFile
  3099.       j = cFileSetSystem(Tmp)
  3100.    Next i
  3101.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  3102.    Label3.Caption = Tmp1
  3103. End Sub
  3104. Private Sub TestFilesInDirectory()
  3105.    Dim Title      As String
  3106.    Dim Tmp        As String
  3107.    Dim Tmp1       As String
  3108.    Dim Tmp2       As String
  3109.    Dim i          As Integer
  3110.    Dim j          As Integer
  3111.    Dim k          As Long
  3112.    Title = "The 10 first files in this directory are" & Chr$(13) & Chr$(13)
  3113.    Tmp1 = Title
  3114.    Tmp2 = cFilesInDirectory("*.*", True)
  3115.    For i = 1 To 10
  3116.       Tmp1 = Tmp1 & Tmp2 & Chr$(13)
  3117.       Tmp2 = cFilesInDirectory("*.*", False)
  3118.    Next i
  3119.    Tmp1 = Tmp1 & Chr$(13)
  3120.    cStartBasisTimer
  3121.    For i = 1 To Item
  3122.       Tmp = cFilesInDirectory("*.*", True)
  3123.    Next i
  3124.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  3125.    Label3.Caption = Tmp1
  3126. End Sub
  3127. Private Sub TestFilesInDirOnDisk()
  3128.    Dim Title      As String
  3129.    Dim Tmp        As String
  3130.    Dim Tmp1       As String
  3131.    Dim Tmp2       As String
  3132.    Dim i          As Integer
  3133.    Dim j          As Integer
  3134.    Dim k          As Long
  3135.    j = cFilesInDirOnDisk("c:\test.tmp", "c:\*.*", A_ALL)
  3136.    Tmp1 = "The files (any attributes) in 'C:\' are (" & j & ") see first list" & Chr$(13) & Chr$(13)
  3137.    j = cFileToListBox(List1.hWnd, "c:\test.tmp")
  3138.    j = cFilesInDirOnDisk("c:\test1.tmp", "c:\*.*", -A_ARCH)
  3139.    Tmp1 = Tmp1 & "The files (only archive, not other attribute) in 'C:\' are (" & j & ") see second list" & Chr$(13) & Chr$(13)
  3140.    j = cFileToListBox(List2.hWnd, "c:\test1.tmp")
  3141.    Tmp1 = Tmp1 & "Number of files (with at least one of the following attribute)" & Chr$(13) & Chr$(13)
  3142.    Tmp1 = Tmp1 & "Any : " & cFilesInDirOnDisk("c:\test.tmp", "c:\*.*", A_ALL) & Chr$(13)
  3143.    Tmp1 = Tmp1 & "(N)ormal : " & cFilesInDirOnDisk("c:\test.tmp", "c:\*.*", A_NORMAL) & Chr$(13)
  3144.    Tmp1 = Tmp1 & "(A)rchive, (N)ormal : " & cFilesInDirOnDisk("c:\test.tmp", "c:\*.*", A_NORMAL_ARCHIVE) & Chr$(13)
  3145.    Tmp1 = Tmp1 & "(A)rchive : " & cFilesInDirOnDisk("c:\test.tmp", "c:\*.*", A_ARCH) & Chr$(13)
  3146.    Tmp1 = Tmp1 & "(A)rchive, (R)ead-Only : " & cFilesInDirOnDisk("c:\test.tmp", "c:\*.*", A_ARCH Or A_RDONLY) & Chr$(13)
  3147.    Tmp1 = Tmp1 & "(S)ystem, (H)idden, (R)ead-Only : " & cFilesInDirOnDisk("c:\test.tmp", "c:\*.*", A_SYSTEM Or A_HIDDEN Or A_RDONLY) & Chr$(13)
  3148.    Tmp1 = Tmp1 & "(H)idden, (R)ead-Only : " & cFilesInDirOnDisk("c:\test.tmp", "c:\*.*", A_HIDDEN Or A_RDONLY) & Chr$(13)
  3149.    Tmp1 = Tmp1 & "(R)ead-Only : " & cFilesInDirOnDisk("c:\test.tmp", "c:\*.*", A_RDONLY) & Chr$(13)
  3150.    Tmp1 = Tmp1 & Chr$(13)
  3151.    Tmp1 = Tmp1 & "Number of files (with exact attribute excluding all others)" & Chr$(13) & Chr$(13)
  3152.    Tmp1 = Tmp1 & "(N)ormal : " & cFilesInDirOnDisk("c:\test.tmp", "c:\*.*", -(A_NORMAL)) & Chr$(13)
  3153.    Tmp1 = Tmp1 & "(A)rchive : " & cFilesInDirOnDisk("c:\test.tmp", "c:\*.*", -(A_ARCH)) & Chr$(13)
  3154.    Tmp1 = Tmp1 & "(A)rchive, (R)ead-Only : " & cFilesInDirOnDisk("c:\test.tmp", "c:\*.*", -(A_ARCH Or A_RDONLY)) & Chr$(13)
  3155.    Tmp1 = Tmp1 & "(S)ystem, (H)idden, (R)ead-Only : " & cFilesInDirOnDisk("c:\test.tmp", "c:\*.*", -(A_SYSTEM Or A_HIDDEN Or A_RDONLY)) & Chr$(13)
  3156.    Tmp1 = Tmp1 & "(H)idden, (R)ead-Only : " & cFilesInDirOnDisk("c:\test.tmp", "c:\*.*", -(A_HIDDEN Or A_RDONLY)) & Chr$(13)
  3157.    Tmp1 = Tmp1 & "(R)ead-Only : " & cFilesInDirOnDisk("c:\test.tmp", "c:\*.*", -(A_RDONLY)) & Chr$(13)
  3158.    Tmp1 = Tmp1 & Chr$(13)
  3159.    cStartBasisTimer
  3160.    For i = 1 To Item
  3161.       j = cFilesInDirOnDisk("c:\test.tmp", "c:\*.*", A_ALL)
  3162.    Next i
  3163.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  3164.    Label3.Caption = Tmp1
  3165. End Sub
  3166. Private Sub TestFilesInDirToArray()
  3167.    Dim Title      As String
  3168.    Dim Tmp        As String
  3169.    Dim Tmp1       As String
  3170.    Dim Tmp2       As String
  3171.    Dim i          As Long
  3172.    Dim r          As Integer
  3173.    Dim m1         As Integer
  3174.    Dim m2         As Integer
  3175.    m1 = -999
  3176.    m2 = 1000
  3177.    ReDim AD(m1 To m2) As String
  3178.    ' initialization because we use ReDim without Global definition
  3179.    'For i = m1 To m2
  3180.    '   AD(i) = Space$(256)
  3181.    'Next i
  3182.    r = cFilesInDirToArray("C:\*.*", A_ALL, AD())
  3183.    Tmp1 = "Reading directory 'C:\*.*' into AD(" & m1 & " To " & m2 & ") is '" & r & "'" & Chr$(13)
  3184.    Tmp1 = Tmp1 & "   The 3 (on " & r & ") first files in array are : " & Chr$(13) & Chr$(13)
  3185.    For i = 0 To 2
  3186.       Tmp1 = Tmp1 & AD(m1 + i) & Chr$(13)
  3187.    Next i
  3188.    Tmp1 = Tmp1 & Chr$(13)
  3189.    Tmp1 = Tmp1 & "   The 3 (on " & r & ") last files in array are : " & Chr$(13) & Chr$(13)
  3190.    For i = 0 To 2
  3191.       Tmp1 = Tmp1 & AD(m1 + r - 1 - 2 + i) & Chr$(13)
  3192.    Next i
  3193.    Tmp1 = Tmp1 & Chr$(13)
  3194.    r = cArrayToListBox(List1.hWnd, AD())
  3195.    Tmp2 = cGetDefaultCurrentDir()
  3196.    r = cFilesInDirToArray("*.*", A_ALL, AD())
  3197.    Tmp1 = Tmp1 & "Reading directory '" & Tmp2 & "' into AD(" & m1 & " To " & m2 & ") is '" & r & "'" & Chr$(13)
  3198.    Tmp1 = Tmp1 & "   The 3 (on " & r & ") first files in array are : " & Chr$(13) & Chr$(13)
  3199.    For i = 0 To 2
  3200.       Tmp1 = Tmp1 & AD(m1 + i) & Chr$(13)
  3201.    Next i
  3202.    Tmp1 = Tmp1 & Chr$(13)
  3203.    Tmp1 = Tmp1 & "   The 3 (on " & r & ") last files in array are : " & Chr$(13) & Chr$(13)
  3204.    For i = 0 To 2
  3205.       Tmp1 = Tmp1 & AD(m1 + r - 1 - 2 + i) & Chr$(13)
  3206.    Next i
  3207.    r = cArrayToListBox(List2.hWnd, AD())
  3208.    cStartBasisTimer
  3209.    For i = 1 To Item
  3210.       r = cFilesInDirToArray("C:\*.*", A_ALL, AD())
  3211.    Next i
  3212.    Tmp1 = Tmp1 & Chr$(13) & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  3213.    Label3.Caption = Tmp1
  3214. End Sub
  3215. Private Sub TestFilesInfoInDir()
  3216.    Dim Title      As String
  3217.    Dim Tmp        As String
  3218.    Dim Tmp1       As String
  3219.    Dim Tmp2       As String
  3220.    Dim i          As Integer
  3221.    Dim j          As Integer
  3222.    Dim k          As Long
  3223.    Dim FI         As tagFILEINFO
  3224.    Title = "The 7 first files in the current directory '" & cGetDefaultCurrentDir() & "' are" & Chr$(13) & Chr$(13)
  3225.    Tmp1 = Title
  3226.    Tmp2 = cFilesInfoInDir("*.*", FI, True)
  3227.    For i = 1 To 7
  3228.       Tmp1 = Tmp1 & Tmp2 & ", " & FI.fSize & ", " & FI.fDate & ", " & FI.fTime & ", " & FI.fAttribute & Chr$(13)
  3229.       Tmp2 = cFilesInfoInDir("*.*", FI, False)
  3230.    Next i
  3231.    Tmp1 = Tmp1 & Chr$(13)
  3232.    cStartBasisTimer
  3233.    For i = 1 To Item
  3234.       Tmp = cFilesInfoInDir("*.*", FI, True)
  3235.    Next i
  3236.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  3237.    Label3.Caption = Tmp1
  3238. End Sub
  3239. Private Sub TestFileSize()
  3240.    Dim Title      As String
  3241.    Dim Tmp        As String
  3242.    Dim Tmp1       As String
  3243.    Dim Tmp2       As String
  3244.    Dim i          As Integer
  3245.    Dim j          As Integer
  3246.    Dim k          As Long
  3247.    Tmp1 = "File size for t2win-16.dll is " & cFileSize("t2win-16.dll") & Chr$(13) & Chr$(13)
  3248.    Tmp1 = Tmp1 & "File size for Path \windows " & cFileSize("\windows") & Chr$(13) & Chr$(13)
  3249.    Tmp1 = Tmp1 & "File size for Path \windows\wintime " & cFileSize("\windows\wintime") & Chr$(13) & Chr$(13)
  3250.    cStartBasisTimer
  3251.    For i = 1 To Item
  3252.       k = cFileSize("t2win-16.dll")
  3253.    Next i
  3254.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  3255.    Label3.Caption = Tmp1
  3256. End Sub
  3257. Private Sub TestFileSort(SortMethod As Integer, VarFix As Integer)
  3258.    Dim Title      As String
  3259.    Dim Tmp        As String
  3260.    Dim Tmp1       As String
  3261.    Dim Tmp2       As String
  3262.    Dim Tmp3       As String
  3263.    Dim i          As Integer
  3264.    Dim j          As Integer
  3265.    Dim N          As Integer
  3266.    Dim m          As Double
  3267.    Tmp = "c:\autoexec.bat"
  3268.    Tmp2 = "c:\ae" & Format$(SortMethod) & ".tab"
  3269.    Close #1
  3270.    Open Tmp For Input Shared As #1
  3271.    While Not EOF(1)
  3272.       Line Input #1, Tmp3
  3273.       List1.AddItem Tmp3
  3274.    Wend
  3275.    Close #1
  3276.    If (VarFix = False) Then
  3277.       j = cFileSort("c:\autoexec.bat", Tmp2, SortMethod, -1, -1, -1, N)
  3278.    Else
  3279.       'j = cFileSort("c:\autoexec.bat", Tmp2, SortMethod, 20, 0, 10, n)
  3280.       j = cFileSort("c:\tmp\_dat_hr.Dat", "c:\tmp\tmp" & SortMethod & ".tmp", SortMethod, 50, 0, 11, N)
  3281.    End If
  3282.    Close #1
  3283.    Open Tmp2 For Input Shared As #1
  3284.    While Not EOF(1)
  3285.       Line Input #1, Tmp3
  3286.       List2.AddItem Tmp3
  3287.    Wend
  3288.    Close #1
  3289.    Select Case SortMethod
  3290.       Case (SORT_ASCENDING + SORT_CASE_SENSITIVE):
  3291.          Tmp1 = Tmp1 + "Sort '" & Tmp & "' into '" & Tmp2 & "' in ASC and CS is '" & j & "' and records are '" & N & "'"
  3292.       Case (SORT_DESCENDING + SORT_CASE_SENSITIVE):
  3293.          Tmp1 = Tmp1 + "Sort '" & Tmp & "' into '" & Tmp2 & "' in DSC and CS is '" & j & "' and records are '" & N & "'"
  3294.       Case (SORT_ASCENDING + SORT_CASE_INSENSITIVE):
  3295.          Tmp1 = Tmp1 + "Sort '" & Tmp & "' into '" & Tmp2 & "' in ASC and NS is '" & j & "' and records are '" & N & "'"
  3296.       Case (SORT_DESCENDING + SORT_CASE_INSENSITIVE):
  3297.          Tmp1 = Tmp1 + "Sort '" & Tmp & "' into '" & Tmp2 & "' in DSC and NS is '" & j & "' and records are '" & N & "'"
  3298.    End Select
  3299.    Tmp1 = Tmp1 & Chr$(13) & Chr$(13)
  3300.    cStartBasisTimer
  3301.    For i = 1 To ItemFile
  3302.       j = cFileSort(Tmp, Tmp2, SortMethod, -1, -1, -1, N)
  3303.       DoEvents
  3304.    Next i
  3305.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  3306.    Label3.Caption = Tmp1
  3307. End Sub
  3308. Private Sub TestFileSR()
  3309.    Dim Title      As String
  3310.    Dim Tmp        As String
  3311.    Dim Tmp1       As String
  3312.    Dim Tmp2       As String
  3313.    Dim Tmp3       As String
  3314.    Dim Tmp4       As String
  3315.    Dim i          As Integer
  3316.    Dim j          As Long
  3317.    Tmp1 = ""
  3318.    Tmp = "c:\autoexec.bat"
  3319.    Tmp2 = "c:\autoexec.tab"
  3320.    Tmp3 = "SET "
  3321.    Tmp4 = "rem SET "
  3322.    Tmp1 = Tmp1 & "File Copy " & Tmp & " to " & Tmp2 & " is " & cFileCopy(Tmp, Tmp2) & Chr$(13) & Chr$(13)
  3323.    Tmp1 = Tmp1 & "File Search-Replace (insensitive) : '" & Tmp3 & "' -> '" & Tmp4 & "' in '" & Tmp2 & "' is " & cFileSearchAndReplace(Tmp2, Tmp3, Tmp4, "c:\tmp.tmp", False) & Chr$(13) & Chr$(13)
  3324.    Tmp1 = Tmp1 & "File Search-Replace (sensitive) : '" & Tmp4 & "' -> '" & Tmp3 & "' in '" & Tmp2 & "' is " & cFileSearchAndReplace(Tmp2, Tmp4, Tmp3, "c:\tmp.tmp", True) & Chr$(13) & Chr$(13)
  3325.    Tmp1 = Tmp1 & "Compare file contents (insensitive) " & Tmp2 & " with " & Tmp & " is " & IIf(cCmpFileContents(Tmp2, Tmp, False) = True, "same", "not same") & Chr$(13) & Chr$(13)
  3326.    cStartBasisTimer
  3327.    For i = 1 To Item
  3328.       If ((i Mod 2) = 1) Then
  3329.          j = cFileSearchAndReplace(Tmp2, Tmp3, Tmp4, "", True)
  3330.       Else
  3331.          j = cFileSearchAndReplace(Tmp2, Tmp4, Tmp3, "", True)
  3332.       End If
  3333.    Next i
  3334.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  3335.    Label3.Caption = Tmp1
  3336. End Sub
  3337. Private Sub TestFilesSize()
  3338.    Dim Title      As String
  3339.    Dim Tmp        As String
  3340.    Dim Tmp1       As String
  3341.    Dim Tmp2       As String
  3342.    Dim i          As Integer
  3343.    Dim j          As Integer
  3344.    Dim k          As Long
  3345.    Dim Size1      As Long
  3346.    Dim Size2      As Long
  3347.    Tmp1 = ""
  3348.    Tmp1 = Tmp1 & "Size of files c:\*.* is " & cFilesSize("c:\*.*") & Chr$(13)
  3349.    Tmp1 = Tmp1 & "Size of files c:\*.bat is " & cFilesSize("c:\*.bat") & Chr$(13)
  3350.    Tmp1 = Tmp1 & "Size of files c:\*.sys is " & cFilesSize("c:\*.sys") & Chr$(13)
  3351.    Tmp1 = Tmp1 & "Size of files c:\*.com is " & cFilesSize("c:\*.com") & Chr$(13)
  3352.    Tmp1 = Tmp1 & Chr$(13)
  3353.    Tmp1 = Tmp1 & "Size of files c:\*.* on disk is " & cFilesSizeOnDisk("c:\*.*") & Chr$(13)
  3354.    Tmp1 = Tmp1 & "Size of files c:\*.bat on disk is " & cFilesSizeOnDisk("c:\*.bat") & Chr$(13)
  3355.    Tmp1 = Tmp1 & "Size of files c:\*.sys on disk is " & cFilesSizeOnDisk("c:\*.sys") & Chr$(13)
  3356.    Tmp1 = Tmp1 & "Size of files c:\*.com on disk is " & cFilesSizeOnDisk("c:\*.com") & Chr$(13)
  3357.    Tmp1 = Tmp1 & Chr$(13)
  3358.    Tmp1 = Tmp1 & "Slack of files c:\*.* on disk is " & cFilesSlack("c:\*.*", Size1, Size2) & " %" & Chr$(13)
  3359.    Tmp1 = Tmp1 & "Slack of files c:\*.bat on disk is " & cFilesSlack("c:\*.bat", Size1, Size2) & " %" & Chr$(13)
  3360.    Tmp1 = Tmp1 & "Slack of files c:\*.sys on disk is " & cFilesSlack("c:\*.sys", Size1, Size2) & " %" & Chr$(13)
  3361.    Tmp1 = Tmp1 & "Slack of files c:\*.com on disk is " & cFilesSlack("c:\*.com", Size1, Size2) & " %" & Chr$(13)
  3362.    cStartBasisTimer
  3363.    For i = 1 To 10
  3364.       k = cFilesSize("c:\*.*")
  3365.    Next i
  3366.    Tmp1 = Tmp1 & "speed for " & 10 & " = " & cReadBasisTimer() & " ms"
  3367.    Label3.Caption = Tmp1
  3368. End Sub
  3369. Private Sub TestFileStatictics()
  3370.    Dim Title      As String
  3371.    Dim Tmp        As String
  3372.    Dim Tmp1       As String
  3373.    Dim Tmp2       As String
  3374.    Dim Tmp3       As String
  3375.    Dim Tmp4       As String
  3376.    Dim i          As Integer
  3377.    Dim j          As Long
  3378.    Dim nL         As Long
  3379.    Dim nW         As Long
  3380.    Dim nC         As Long
  3381.    Tmp1 = ""
  3382.    Tmp = "c:\autoexec.bat"
  3383.    Tmp1 = Tmp1 & "File statictics for '" & Tmp & "' is " & cFileStatistics(Tmp, nL, nW, nC) & Chr$(13)
  3384.    Tmp1 = Tmp1 & "number of lines : " & nL & Chr$(13)
  3385.    Tmp1 = Tmp1 & "number of words : " & nW & Chr$(13)
  3386.    Tmp1 = Tmp1 & "number of chars : " & nC & Chr$(13) & Chr$(13)
  3387.    Tmp = "c:\config.sys"
  3388.    Tmp1 = Tmp1 & "File statictics for '" & Tmp & "' is " & cFileStatistics(Tmp, nL, nW, nC) & Chr$(13)
  3389.    Tmp1 = Tmp1 & "number of lines : " & nL & Chr$(13)
  3390.    Tmp1 = Tmp1 & "number of words : " & nW & Chr$(13)
  3391.    Tmp1 = Tmp1 & "number of chars : " & nC & Chr$(13) & Chr$(13)
  3392.    cStartBasisTimer
  3393.    For i = 1 To Item
  3394.       j = cFileStatistics(Tmp, nL, nW, nC)
  3395.    Next i
  3396.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  3397.    Label3.Caption = Tmp1
  3398. End Sub
  3399. Private Sub TestFileStatistic()
  3400.    Dim Title      As String
  3401.    Dim Tmp        As String
  3402.    Dim Tmp1       As String
  3403.    Dim Tmp2       As String
  3404.    Dim i          As Integer
  3405.    Dim j          As Integer
  3406.    Dim k          As Long
  3407.    Tmp1 = "File drive for t2win-16.dll is " & cFileDrive("t2win-16.dll") & Chr$(13) & Chr$(13)
  3408.    Tmp1 = Tmp1 & "File last time modified for t2win-16.dll is " & cFileLastTimeModified("t2win-16.dll") & Chr$(13) & Chr$(13)
  3409.    Tmp1 = Tmp1 & "File last date modified for t2win-16.dll is " & cFileLastDateModified("t2win-16.dll") & Chr$(13) & Chr$(13)
  3410.    cStartBasisTimer
  3411.    For i = 1 To ItemFile
  3412.       Tmp = cFileDrive("t2win-16.dll")
  3413.    Next i
  3414.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  3415.    Label3.Caption = Tmp1
  3416. End Sub
  3417. Private Sub TestFileToX()
  3418.    Dim Title      As String
  3419.    Dim Tmp        As String
  3420.    Dim Tmp1       As String
  3421.    Dim Tmp2       As String
  3422.    Dim Tmp3       As String
  3423.    Dim i          As Integer
  3424.    Dim j          As Long
  3425.    Tmp1 = ""
  3426.    Tmp = "c:\autoexec.bat"
  3427.    Tmp2 = "c:\autoexec.lwr"
  3428.    Tmp3 = "c:\autoexec.upr"
  3429.    Tmp1 = Tmp1 & "File to lower '" & Tmp & "' to '" & Tmp2 & "' is " & cFileToLower(Tmp, Tmp2) & Chr$(13) & Chr$(13)
  3430.    Tmp1 = Tmp1 & "File to upper '" & Tmp & "' to '" & Tmp3 & "' is " & cFileToUpper(Tmp, Tmp3) & Chr$(13) & Chr$(13)
  3431.    cStartBasisTimer
  3432.    For i = 1 To Item
  3433.       j = cFileToLower(Tmp, Tmp2)
  3434.    Next i
  3435.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  3436.    Label3.Caption = Tmp1
  3437. End Sub
  3438. Private Sub TestFileVersion()
  3439.    Dim Title      As String
  3440.    Dim Tmp        As String
  3441.    Dim Tmp1       As String
  3442.    Dim Tmp2       As String
  3443.    Dim i          As Integer
  3444.    Dim j          As Integer
  3445.    Dim k          As Long
  3446.    Dim status                 As Integer
  3447.    Tmp = cGetSystemDirectory() & "\krnl386.exe"
  3448.    Tmp1 = Tmp1 & "File Version for '" & Tmp & "' is " & Chr$(13)
  3449.    For i = VER_VERSION_PRODUCT To VER_PRODUCT_VERSION
  3450.       Tmp1 = Tmp1 & "   " & i & " = " & cGetFileVersion(Tmp, i) & Chr$(13)
  3451.    Next i
  3452.    Tmp = cGetSystemDirectory() & "\t2win-16.dll"
  3453.    Tmp1 = Tmp1 & "File Version for '" & Tmp & "' is " & Chr$(13)
  3454.    For i = VER_VERSION_PRODUCT To VER_PRODUCT_VERSION
  3455.       Tmp1 = Tmp1 & "   " & i & " = " & cGetFileVersion(Tmp, i) & Chr$(13)
  3456.    Next i
  3457.    cStartBasisTimer
  3458.    For i = 1 To ItemFile
  3459.       Tmp = cGetFileVersion(Tmp, -1)
  3460.    Next i
  3461.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  3462.    Label3.Caption = Tmp1
  3463. End Sub
  3464. Private Sub TestFileVersionInfo()
  3465.    Dim Title      As String
  3466.    Dim Tmp        As String
  3467.    Dim Tmp1       As String
  3468.    Dim Tmp2       As String
  3469.    Dim i          As Integer
  3470.    Dim j          As Integer
  3471.    Dim k          As Long
  3472.    Dim status                 As Integer
  3473.    Dim FILEVERSIONINFO     As tagFILEVERSIONINFO
  3474.    Tmp = cGetSystemDirectory() & "\krnl386.exe"
  3475.    Tmp1 = Tmp1 & "File Version Information for '" & Tmp & "' is " & Chr$(13)
  3476.    status = cGetFileVersionInfo(Tmp, FILEVERSIONINFO)
  3477.    Tmp1 = Tmp1 & "   VersionProduct = " & FILEVERSIONINFO.VersionProduct & Chr$(13)
  3478.    Tmp1 = Tmp1 & "   FileDescription = " & FILEVERSIONINFO.FileDescription & Chr$(13)
  3479.    Tmp1 = Tmp1 & "   FileVersion = " & FILEVERSIONINFO.FileVersion & Chr$(13)
  3480.    Tmp1 = Tmp1 & "   InternalName = " & FILEVERSIONINFO.InternalName & Chr$(13)
  3481.    Tmp1 = Tmp1 & "   LegalCopyright = " & FILEVERSIONINFO.LegalCopyright & Chr$(13)
  3482.    Tmp1 = Tmp1 & "   LegalTrademarks = " & FILEVERSIONINFO.LegalTrademarks & Chr$(13)
  3483.    Tmp1 = Tmp1 & "   Comments = " & FILEVERSIONINFO.Comments & Chr$(13)
  3484.    Tmp1 = Tmp1 & "   ProductName = " & FILEVERSIONINFO.ProductName & Chr$(13)
  3485.    Tmp1 = Tmp1 & "   ProductVersion = " & FILEVERSIONINFO.ProductVersion & Chr$(13) & Chr$(13)
  3486.    Tmp = cGetSystemDirectory() & "\t2win-16.dll"
  3487.    Tmp1 = Tmp1 & "File Version Information for '" & Tmp & "' is " & Chr$(13)
  3488.    status = cGetFileVersionInfo(Tmp, FILEVERSIONINFO)
  3489.    Tmp1 = Tmp1 & "   VersionProduct = " & FILEVERSIONINFO.VersionProduct & Chr$(13)
  3490.    Tmp1 = Tmp1 & "   FileDescription = " & FILEVERSIONINFO.FileDescription & Chr$(13)
  3491.    Tmp1 = Tmp1 & "   FileVersion = " & FILEVERSIONINFO.FileVersion & Chr$(13)
  3492.    Tmp1 = Tmp1 & "   InternalName = " & FILEVERSIONINFO.InternalName & Chr$(13)
  3493.    Tmp1 = Tmp1 & "   LegalCopyright = " & FILEVERSIONINFO.LegalCopyright & Chr$(13)
  3494.    Tmp1 = Tmp1 & "   LegalTrademarks = " & FILEVERSIONINFO.LegalTrademarks & Chr$(13)
  3495.    Tmp1 = Tmp1 & "   Comments = " & FILEVERSIONINFO.Comments & Chr$(13)
  3496.    Tmp1 = Tmp1 & "   ProductName = " & FILEVERSIONINFO.ProductName & Chr$(13)
  3497.    Tmp1 = Tmp1 & "   ProductVersion = " & FILEVERSIONINFO.ProductVersion & Chr$(13) & Chr$(13)
  3498.    cStartBasisTimer
  3499.    For i = 1 To ItemFile
  3500.       status = cGetFileVersionInfo(Tmp, FILEVERSIONINFO)
  3501.    Next i
  3502.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  3503.    Label3.Caption = Tmp1
  3504. End Sub
  3505. Private Sub TestFill()
  3506.    Dim Title      As String
  3507.    Dim Tmp        As String
  3508.    Dim Tmp1       As String
  3509.    Dim Tmp2       As String
  3510.    Dim i          As Integer
  3511.    Dim j          As Integer
  3512.    Tmp = Text1.Text
  3513.    Title = "Fill of [" & Tmp & "] with [*=] is "
  3514.    Call cFill(Tmp, "*=")
  3515.    Tmp1 = Title & Tmp & Chr$(13) & Chr$(13)
  3516.    cStartBasisTimer
  3517.    For i = 1 To Item
  3518.       Call cFill(Tmp, "=*")
  3519.    Next i
  3520.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  3521.    Label3.Caption = Tmp1
  3522. End Sub
  3523. Private Sub TestFillI()
  3524.    Dim Title      As String
  3525.    Dim Tmp        As String
  3526.    Dim Tmp1       As String
  3527.    Dim Tmp2       As String
  3528.    Dim i          As Integer
  3529.    Dim j          As Integer
  3530.    Dim m          As Double
  3531.    ReDim array(ItemMean) As Integer
  3532.    Randomize Timer
  3533.    For i = LBound(array) To UBound(array)
  3534.       array(i) = 0
  3535.       List1.AddItem "" & array(i)
  3536.    Next i
  3537.    j = cFillI(array(), 1)
  3538.    For i = LBound(array) To UBound(array)
  3539.       List2.AddItem "" & array(i)
  3540.    Next i
  3541.    Tmp1 = Tmp1 & "Fill 1 to element 1 of an integer array is : " & array(1) & Chr$(13) & Chr$(13)
  3542.    Tmp1 = Tmp1 & "Fill 1 to element " & ItemMean & " of an integer array is : " & array(ItemMean) & Chr$(13) & Chr$(13)
  3543.    cStartBasisTimer
  3544.    For i = 1 To ItemFile
  3545.       j = cFillI(array(), 1)
  3546.    Next i
  3547.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  3548.    Label3.Caption = Tmp1
  3549. End Sub
  3550. Private Sub TestFillIncrI()
  3551.    Dim Title      As String
  3552.    Dim Tmp        As String
  3553.    Dim Tmp1       As String
  3554.    Dim Tmp2       As String
  3555.    Dim i          As Integer
  3556.    Dim j          As Integer
  3557.    Dim m          As Double
  3558.    ReDim array(ItemMean) As Integer
  3559.    Randomize Timer
  3560.    For i = LBound(array) To UBound(array)
  3561.       array(i) = 0
  3562.       List1.AddItem "" & array(i)
  3563.    Next i
  3564.    j = cFillIncrI(array(), -2, 3)
  3565.    For i = LBound(array) To UBound(array)
  3566.       List2.AddItem "" & array(i)
  3567.    Next i
  3568.    Tmp1 = Tmp1 & "Fill -2 by increment 3 to element 1 of an integer array is : " & array(1) & Chr$(13) & Chr$(13)
  3569.    Tmp1 = Tmp1 & "Fill -2 by increment 3 to element " & ItemMean & " of an integer array is : " & array(ItemMean) & Chr$(13) & Chr$(13)
  3570.    cStartBasisTimer
  3571.    For i = 1 To ItemFile
  3572.       j = cFillIncrI(array(), 1, 3)
  3573.    Next i
  3574.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  3575.    Label3.Caption = Tmp1
  3576. End Sub
  3577. Private Sub TestFilterBlocks()
  3578.    Dim Title      As String
  3579.    Dim Tmp        As String
  3580.    Dim Tmp1       As String
  3581.    Dim Tmp2       As String
  3582.    Dim i          As Integer
  3583.    Dim j          As Integer
  3584.    Tmp = Text1.Text
  3585.    Title = "Filter blocks between '/' and '/' in [" & Tmp & "] is " & Chr$(13) & Chr$(13)
  3586.    Tmp1 = Title & cFilterBlocks(Tmp, "//") & Chr$(13) & Chr$(13)
  3587.    Title = "Filter blocks between 'B' and 'I' in [" & Tmp & "] is " & Chr$(13) & Chr$(13)
  3588.    Tmp1 = Tmp1 & Title & cFilterBlocks(Tmp, "BI") & Chr$(13) & Chr$(13)
  3589.    cStartBasisTimer
  3590.    For i = 1 To Item
  3591.       Tmp2 = cFilterBlocks(Tmp, "//")
  3592.    Next i
  3593.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  3594.    Label3.Caption = Tmp1
  3595. End Sub
  3596. Private Sub TestFilterChars()
  3597.    Dim Title      As String
  3598.    Dim Tmp        As String
  3599.    Dim Tmp1       As String
  3600.    Dim Tmp2       As String
  3601.    Dim i          As Integer
  3602.    Dim j          As Integer
  3603.    Tmp = Text1.Text
  3604.    Title = "Filter 'B','/' in [" & Tmp & "] is "
  3605.    Tmp1 = Title & cFilterChars(Tmp, "B/") & Chr$(13) & Chr$(13)
  3606.    cStartBasisTimer
  3607.    For i = 1 To Item
  3608.       Tmp2 = cFilterChars(Tmp, "B/")
  3609.    Next i
  3610.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  3611.    Label3.Caption = Tmp1
  3612. End Sub
  3613. Private Sub TestFindBitReset()
  3614.    Dim Title      As String
  3615.    Dim Tmp        As String
  3616.    Dim Tmp1       As String
  3617.    Dim Tmp2       As String
  3618.    Dim i          As Integer
  3619.    Dim j          As Integer
  3620.    Tmp = Text1.Text
  3621.    Tmp1 = "The following bits on '" & Tmp & "' are not Set (False) " & Chr$(13) & Chr$(13)
  3622.    j = True
  3623.    Do
  3624.       j = cFindBitReset(Tmp, j)
  3625.       If (j <> True) Then Tmp1 = Tmp1 & j & ", "
  3626.    Loop Until (j = True)
  3627.    Tmp1 = Left$(Tmp1, Len(Tmp1) - 1)
  3628.    Tmp1 = Tmp1 & Chr$(13) & Chr$(13)
  3629.    j = 0
  3630.    cStartBasisTimer
  3631.    For i = 1 To Item
  3632.       j = cFindBitReset(Tmp, j)
  3633.    Next i
  3634.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  3635.    Label3.Caption = Tmp1
  3636. End Sub
  3637. Private Sub TestFindBitSet()
  3638.    Dim Title      As String
  3639.    Dim Tmp        As String
  3640.    Dim Tmp1       As String
  3641.    Dim Tmp2       As String
  3642.    Dim i          As Integer
  3643.    Dim j          As Integer
  3644.    Tmp = Text1.Text
  3645.    Tmp1 = "The following bits on '" & Tmp & "' are Set (True) " & Chr$(13) & Chr$(13)
  3646.    j = True
  3647.    Do
  3648.       j = cFindBitSet(Tmp, j)
  3649.       If (j <> True) Then Tmp1 = Tmp1 & j & ", "
  3650.    Loop Until (j = True)
  3651.    Tmp1 = Left$(Tmp1, Len(Tmp1) - 1)
  3652.    Tmp1 = Tmp1 & Chr$(13) & Chr$(13)
  3653.    j = 0
  3654.    cStartBasisTimer
  3655.    For i = 1 To Item
  3656.       j = cFindBitSet(Tmp, j)
  3657.    Next i
  3658.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  3659.    Label3.Caption = Tmp1
  3660. End Sub
  3661. Private Sub TestFindFileInEnv()
  3662.    Dim Title      As String
  3663.    Dim Tmp        As String
  3664.    Dim Tmp1       As String
  3665.    Dim Tmp2       As String
  3666.    Dim i          As Integer
  3667.    Dim j          As Integer
  3668.    j = cFindFileInEnv("win.com", "windir")
  3669.    Tmp1 = "The file 'win.com' is " & IIf(j, "found", "not found") & " in the WINDIR" & Chr$(13) & Chr$(13)
  3670.    cStartBasisTimer
  3671.    For i = 1 To ItemFile
  3672.       j = cFindFileInEnv("win.com", "windir")
  3673.    Next i
  3674.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  3675.    Label3.Caption = Tmp1
  3676. End Sub
  3677. Private Sub TestFindFileInPath()
  3678.    Dim Title      As String
  3679.    Dim Tmp        As String
  3680.    Dim Tmp1       As String
  3681.    Dim Tmp2       As String
  3682.    Dim i          As Integer
  3683.    Dim j          As Integer
  3684.    j = cFindFileInPath("win.com")
  3685.    Tmp1 = "The file 'win.com' is " & IIf(j, "found", "not found") & " in the PATH" & Chr$(13) & Chr$(13)
  3686.    cStartBasisTimer
  3687.    For i = 1 To ItemFile
  3688.       j = cFindFileInPath("win.com")
  3689.    Next i
  3690.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  3691.    Label3.Caption = Tmp1
  3692. End Sub
  3693. Private Sub TestFloppyInfo()
  3694.    Dim Title      As String
  3695.    Dim Tmp        As String
  3696.    Dim Tmp1       As String
  3697.    Dim Tmp2       As String
  3698.    Dim i          As Integer
  3699.    Dim j          As Integer
  3700.    Dim nHds       As Integer
  3701.    Dim nCyls      As Integer
  3702.    Dim nSecs      As Integer
  3703.    Tmp1 = ""
  3704.    For i = 1 To 3
  3705.       j = cFloppyInfo(Chr$(64 + i), nHds, nCyls, nSecs)
  3706.       Tmp1 = Tmp1 & "'" & Chr$(64 + i) & ":' is " & j & " (" & nHds & "," & nCyls & "," & nSecs & ")" & Chr$(13)
  3707.    Next i
  3708.    Tmp1 = Tmp1 + Chr$(13)
  3709.    cStartBasisTimer
  3710.    For i = 1 To Item
  3711.       j = cFloppyInfo("A", nHds, nCyls, nSecs)
  3712.    Next i
  3713.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  3714.    Label3.Caption = Tmp1
  3715. End Sub
  3716. Private Sub TestFraction()
  3717.    Dim Title      As String
  3718.    Dim Tmp        As String
  3719.    Dim Tmp1       As String
  3720.    Dim Tmp2       As String
  3721.    Dim i          As Integer
  3722.    Dim v          As Double
  3723.    Dim N          As Double
  3724.    Dim p          As Double
  3725.    Dim q          As Double
  3726.    Dim e          As Integer
  3727.    Tmp1 = "Determining fraction part (numerator/denominator) for the following value " & Chr$(13) & Chr$(13)
  3728.    N = 0.75
  3729.    v = cFraction(N, p, q)
  3730.    Tmp1 = Tmp1 & N & " is " & p & " / " & q & Chr$(13)
  3731.    Tmp1 = Tmp1 & "   value is " & v & Chr$(13) & Chr$(13)
  3732.    N = 4.12
  3733.    v = cFraction(N, p, q)
  3734.    Tmp1 = Tmp1 & N & " is " & p & " / " & q & Chr$(13)
  3735.    Tmp1 = Tmp1 & "   value is " & v & Chr$(13) & Chr$(13)
  3736.    N = 365.25
  3737.    v = cFraction(N, p, q)
  3738.    Tmp1 = Tmp1 & N & " is " & p & " / " & q & Chr$(13)
  3739.    Tmp1 = Tmp1 & "   value is " & v & Chr$(13) & Chr$(13)
  3740.    N = 3.14
  3741.    v = cFraction(N, p, q)
  3742.    Tmp1 = Tmp1 & N & " is " & p & " / " & q & Chr$(13)
  3743.    Tmp1 = Tmp1 & "   value is " & v & Chr$(13) & Chr$(13)
  3744.    N = 3.14159
  3745.    v = cFraction(N, p, q)
  3746.    Tmp1 = Tmp1 & N & " is " & p & " / " & q & Chr$(13)
  3747.    Tmp1 = Tmp1 & "   value is " & v & Chr$(13) & Chr$(13)
  3748.    N = 3.14159265
  3749.    v = cFraction(N, p, q)
  3750.    Tmp1 = Tmp1 & N & " is " & p & " / " & q & Chr$(13)
  3751.    Tmp1 = Tmp1 & "   value is " & v & Chr$(13) & Chr$(13)
  3752.    N = 0.9999999
  3753.    v = cFraction(N, p, q)
  3754.    Tmp1 = Tmp1 & N & " is " & p & " / " & q & Chr$(13)
  3755.    Tmp1 = Tmp1 & "   value is " & v & Chr$(13) & Chr$(13)
  3756.    cStartBasisTimer
  3757.    For i = 1 To Item
  3758.       v = cFraction(N, p, q)
  3759.    Next i
  3760.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  3761.    Label3.Caption = Tmp1
  3762. End Sub
  3763. Private Sub TestFullPath()
  3764.    Dim Title      As String
  3765.    Dim Tmp        As String
  3766.    Dim Tmp1       As String
  3767.    Dim Tmp2       As String
  3768.    Dim Tmp3       As String
  3769.    Dim i          As Integer
  3770.    Dim j          As Long
  3771.    Tmp1 = ""
  3772.    Tmp = "C:\AUTOEXEC.BAT"
  3773.    Tmp1 = Tmp1 & "Full Path of " & Tmp & " is " & cFullPath(Tmp) & Chr$(13) & Chr$(13)
  3774.    Tmp = cGetSystemDirectory() & "\t2win-16.dll"
  3775.    Tmp1 = Tmp1 & "Full Path of " & Tmp & " is " & cFullPath(Tmp) & Chr$(13) & Chr$(13)
  3776.    Tmp = cFilesInDirectory(cGetDefaultCurrentDir() + "\*.*", True)
  3777.    Tmp1 = Tmp1 & "Full Path of " & Tmp & " is " & cFullPath(Tmp) & Chr$(13) & Chr$(13)
  3778.    cStartBasisTimer
  3779.    For i = 1 To Item
  3780.       Tmp = cFullPath(Tmp)
  3781.    Next i
  3782.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  3783.    Label3.Caption = Tmp1
  3784. End Sub
  3785. Private Sub TestGetBit()
  3786.    Dim Title      As String
  3787.    Dim Tmp        As String
  3788.    Dim Tmp1       As String
  3789.    Dim Tmp2       As String
  3790.    Dim i          As Integer
  3791.    Dim j          As Integer
  3792.    Tmp = Text1.Text
  3793.    Title = "bit 0,7,3 of [" & Tmp & "] is "
  3794.    Tmp1 = Title & cGetBit(Tmp, 0) & " " & cGetBit(Tmp, 7) & " " & cGetBit(Tmp, 3) & " " & Chr$(13) & Chr$(13)
  3795.    Title = "bit 23,30,38 of [" & Tmp & "] is "
  3796.    Tmp1 = Tmp1 & Title & cGetBit(Tmp, 23) & " " & cGetBit(Tmp, 30) & " " & cGetBit(Tmp, 38) & " " & Chr$(13) & Chr$(13)
  3797.    cStartBasisTimer
  3798.    For i = 1 To Item
  3799.       j = cGetBit(Tmp, i)
  3800.    Next i
  3801.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  3802.    Label3.Caption = Tmp1
  3803. End Sub
  3804. Private Sub TestGetBlock()
  3805.    Dim Title      As String
  3806.    Dim Tmp        As String
  3807.    Dim Tmp1       As String
  3808.    Dim Tmp2       As String
  3809.    Dim i          As Integer
  3810.    Dim j          As Integer
  3811.    Tmp = Text1.Text
  3812.    Title = "The 2,4,1 of 2 chars of [" & Tmp & "] are "
  3813.    Tmp = Text1.Text
  3814.    Tmp1 = Title & "2:" & cGetBlock(Tmp, 2, 2) & " | 4:" & cGetBlock(Tmp, 4, 2) & " | 1:" & cGetBlock(Tmp, 1, 2) & Chr$(13) & Chr$(13)
  3815.    cStartBasisTimer
  3816.    For i = 1 To Item
  3817.       Tmp2 = cGetBlock(Tmp, 1, 2)
  3818.    Next i
  3819.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  3820.    Label3.Caption = Tmp1
  3821. End Sub
  3822. Private Sub TestGetCurrentDrive()
  3823.    Dim Title      As String
  3824.    Dim Tmp        As String
  3825.    Dim Tmp1       As String
  3826.    Dim Tmp2       As String
  3827.    Dim i          As Integer
  3828.    Dim j          As Integer
  3829.    Tmp = cGetCurrentDrive()
  3830.    Tmp1 = Tmp & " is the current drive" & Chr$(13) & Chr$(13)
  3831.    cStartBasisTimer
  3832.    For i = 1 To Item
  3833.       Tmp2 = cGetCurrentDrive()
  3834.       If (Tmp <> Tmp2) Then Beep
  3835.    Next i
  3836.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  3837.    Label3.Caption = Tmp1
  3838. End Sub
  3839. Private Sub TestGetDateSeparator()
  3840.    Dim Title      As String
  3841.    Dim Tmp        As String
  3842.    Dim Tmp1       As String
  3843.    Dim Tmp2       As String
  3844.    Dim i          As Integer
  3845.    Dim j          As Integer
  3846.    Tmp = cGetDateSeparator()
  3847.    Tmp1 = "The following char '" & Tmp & "' is the date separator" & Chr$(13) & Chr$(13)
  3848.    cStartBasisTimer
  3849.    For i = 1 To Item
  3850.       Tmp2 = cGetDateSeparator()
  3851.       If (Tmp <> Tmp2) Then Beep
  3852.    Next i
  3853.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  3854.    Label3.Caption = Tmp1
  3855. End Sub
  3856. Private Sub TestGetDefaultCurrentDir()
  3857.    Dim Title      As String
  3858.    Dim Tmp        As String
  3859.    Dim Tmp1       As String
  3860.    Dim Tmp2       As String
  3861.    Dim i          As Integer
  3862.    Dim j          As Integer
  3863.    Tmp = cGetDefaultCurrentDir()
  3864.    Tmp1 = Tmp & " is the current dir on the default drive" & Chr$(13) & Chr$(13)
  3865.    cStartBasisTimer
  3866.    For i = 1 To Item
  3867.       Tmp2 = cGetDefaultCurrentDir()
  3868.       If (Tmp <> Tmp2) Then Beep
  3869.    Next i
  3870.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  3871.    Label3.Caption = Tmp1
  3872. End Sub
  3873. Private Sub TestGetDiskFree()
  3874.    Dim Title      As String
  3875.    Dim Tmp        As String
  3876.    Dim Tmp1       As String
  3877.    Dim Tmp2       As String
  3878.    Dim i          As Integer
  3879.    Dim j          As Integer
  3880.    Dim k          As Long
  3881.    Dim ErrCode    As Integer
  3882.    Tmp1 = ""
  3883.    For i = 1 To 26
  3884.       k = cGetDiskFree(Chr$(64 + i))
  3885.       If (k <> True) Then
  3886.          Tmp1 = Tmp1 & "DiskFree for '" & Chr$(64 + i) & ":' is " & k & Chr$(13)
  3887.       End If
  3888.    Next i
  3889.    Tmp1 = Tmp1 + Chr$(13)
  3890.    cStartBasisTimer
  3891.    For i = 1 To Item
  3892.       k = cGetDiskFree("C")
  3893.    Next i
  3894.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  3895.    Label3.Caption = Tmp1
  3896. End Sub
  3897. Private Sub TestGetDiskSpace()
  3898.    Dim Title      As String
  3899.    Dim Tmp        As String
  3900.    Dim Tmp1       As String
  3901.    Dim Tmp2       As String
  3902.    Dim i          As Integer
  3903.    Dim j          As Integer
  3904.    Dim k          As Long
  3905.    Dim ErrCode    As Integer
  3906.    Tmp1 = ""
  3907.    For i = 1 To 26
  3908.       k = cGetDiskSpace(Chr$(64 + i))
  3909.       If (k <> True) Then
  3910.          Tmp1 = Tmp1 & "DiskSpace for '" & Chr$(64 + i) & ":' is " & k & Chr$(13)
  3911.       End If
  3912.    Next i
  3913.    Tmp1 = Tmp1 + Chr$(13)
  3914.    cStartBasisTimer
  3915.    For i = 1 To Item
  3916.       k = cGetDiskSpace("C")
  3917.    Next i
  3918.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  3919.    Label3.Caption = Tmp1
  3920. End Sub
  3921. Private Sub TestGetDiskUsed()
  3922.    Dim Title      As String
  3923.    Dim Tmp        As String
  3924.    Dim Tmp1       As String
  3925.    Dim Tmp2       As String
  3926.    Dim i          As Integer
  3927.    Dim j          As Integer
  3928.    Dim k          As Long
  3929.    Dim ErrCode    As Integer
  3930.    Tmp1 = ""
  3931.    For i = 1 To 26
  3932.       k = cGetDiskUsed(Chr$(64 + i))
  3933.       If (k <> True) Then
  3934.          Tmp1 = Tmp1 & "DiskUsed for '" & Chr$(64 + i) & ":' is " & k & Chr$(13)
  3935.       End If
  3936.    Next i
  3937.    Tmp1 = Tmp1 + Chr$(13)
  3938.    cStartBasisTimer
  3939.    For i = 1 To Item
  3940.       k = cGetDiskUsed("C")
  3941.    Next i
  3942.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  3943.    Label3.Caption = Tmp1
  3944. End Sub
  3945. Private Sub TestGetDriveCurrentDir()
  3946.    Dim Title      As String
  3947.    Dim Tmp        As String
  3948.    Dim Tmp1       As String
  3949.    Dim Tmp2       As String
  3950.    Dim i          As Integer
  3951.    Dim j          As Integer
  3952.    Tmp1 = ""
  3953.    For i = 1 To 26
  3954.       Tmp = cGetDriveCurrentDir(Chr$(64 + i))
  3955.       If (Tmp <> "") Then
  3956.          Tmp1 = Tmp1 & "The current directory in '" & Chr$(64 + i) & ":' is " & Tmp & Chr$(13)
  3957.       Else
  3958.          If (i = 1) Then Tmp1 = Tmp1 & "drive A: is missing" & Chr$(13)
  3959.          If (i = 2) Then Tmp1 = Tmp1 & "drive B: is missing" & Chr$(13)
  3960.       End If
  3961.    Next i
  3962.    Tmp1 = Tmp1 + Chr$(13)
  3963.    cStartBasisTimer
  3964.    For i = 1 To Item
  3965.       Tmp2 = cGetDriveCurrentDir("C")
  3966.    Next i
  3967.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  3968.    Label3.Caption = Tmp1
  3969. End Sub
  3970. Private Sub TestGetFullnameInEnv()
  3971.    Dim Title      As String
  3972.    Dim Tmp        As String
  3973.    Dim Tmp1       As String
  3974.    Dim Tmp2       As String
  3975.    Dim i          As Integer
  3976.    Dim j          As Integer
  3977.    Tmp = cGetFullNameInEnv("win.com", "windir")
  3978.    Tmp1 = "Full path for 'win.com' in 'windir' is " & Tmp & Chr$(13) & Chr$(13)
  3979.    cStartBasisTimer
  3980.    For i = 1 To ItemFile
  3981.       Tmp2 = cGetFullNameInEnv("win.com", "windir")
  3982.    Next i
  3983.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  3984.    Label3.Caption = Tmp1
  3985. End Sub
  3986. Private Sub TestGetFullnameInPath()
  3987.    Dim Title      As String
  3988.    Dim Tmp        As String
  3989.    Dim Tmp1       As String
  3990.    Dim Tmp2       As String
  3991.    Dim i          As Integer
  3992.    Dim j          As Integer
  3993.    Tmp = cGetFullNameInPath("win.com")
  3994.    Tmp1 = "Full path for 'win.com' is " & Tmp & Chr$(13) & Chr$(13)
  3995.    cStartBasisTimer
  3996.    For i = 1 To ItemFile
  3997.       Tmp2 = cGetFullNameInPath("win.com")
  3998.    Next i
  3999.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  4000.    Label3.Caption = Tmp1
  4001. End Sub
  4002. Private Sub TestGetIn()
  4003.    Dim Title      As String
  4004.    Dim Tmp        As String
  4005.    Dim Tmp1       As String
  4006.    Dim Tmp2       As String
  4007.    Dim i          As Integer
  4008.    Dim j          As Integer
  4009.    Tmp = Text1.Text
  4010.    Title = "The 2,4,1 blocks of [" & Tmp & "] are "
  4011.    Tmp = Text1.Text
  4012.    Tmp1 = Title & "2:" & cGetIn(Tmp, "/", 2) & " | 4:" & cGetIn(Tmp, "/", 4) & " | 1:" & cGetIn(Tmp, "/", 1) & Chr$(13) & Chr$(13)
  4013.    cStartBasisTimer
  4014.    For i = 1 To Item
  4015.       Tmp2 = cGetIn(Tmp, "/", 2)
  4016.    Next i
  4017.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4018.    Label3.Caption = Tmp1
  4019. End Sub
  4020. Private Sub TestGetInR()
  4021.               
  4022.    Dim Title      As String
  4023.    Dim Tmp        As String
  4024.    Dim Tmp1       As String
  4025.    Dim Tmp2       As String
  4026.    Dim i          As Integer
  4027.    Dim j          As Integer
  4028.    Tmp = Text1.Text
  4029.    Tmp1 = Tmp1 + "GetInR" & Chr$(13)
  4030.    Tmp1 = Tmp1 + "The 2,4,1 blocks from the right of [" & Tmp & "] are "
  4031.    Tmp1 = Tmp1 & "2:" & cGetInR(Tmp, "/", 2) & " | 4:" & cGetInR(Tmp, "/", 4) & " | 1:" & cGetInR(Tmp, "/", 1) & Chr$(13) & Chr$(13)
  4032.    Tmp1 = Tmp1 + "GetInPart" & Chr$(13)
  4033.    Tmp1 = Tmp1 + "The first and the second part from the left of [" & Tmp & "] are " & Chr$(13)
  4034.    Tmp1 = Tmp1 & cGetInPart(Tmp, "/", True) & " | " & cGetInPart(Tmp, "/", False) & Chr$(13) & Chr$(13)
  4035.    Tmp1 = Tmp1 + "GetInPartR" & Chr$(13)
  4036.    Tmp1 = Tmp1 + "The first and the second part from the right of [" & Tmp & "] are " & Chr$(13)
  4037.    Tmp1 = Tmp1 & cGetInPartR(Tmp, "/", True) & " | " & cGetInPartR(Tmp, "/", False) & Chr$(13) & Chr$(13)
  4038.    Tmp = UCase$("c:\vberr.hnd\source.mak\vbtrcprf.mak")
  4039.    Tmp1 = Tmp1 + "GetInPart" & Chr$(13)
  4040.    Tmp1 = Tmp1 + "The first and the second part from the left of [" & Tmp & "] are " & Chr$(13)
  4041.    Tmp1 = Tmp1 & cGetInPart(Tmp, ".", True) & " | " & cGetInPart(Tmp, ".", False) & Chr$(13) & Chr$(13)
  4042.    Tmp1 = Tmp1 + "GetInPartR" & Chr$(13)
  4043.    Tmp1 = Tmp1 + "The first and the second part from the right of [" & Tmp & "] are " & Chr$(13)
  4044.    Tmp1 = Tmp1 & cGetInPartR(Tmp, ".", True) & " | " & cGetInPartR(Tmp, ".", False) & Chr$(13) & Chr$(13)
  4045.    cStartBasisTimer
  4046.    For i = 1 To Item
  4047.       Tmp2 = cGetInR(Tmp, "/", 2)
  4048.    Next i
  4049.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4050.    Label3.Caption = Tmp1
  4051. End Sub
  4052. Private Sub TestGetNetConnection()
  4053.    Dim Title      As String
  4054.    Dim Tmp        As String
  4055.    Dim Tmp1       As String
  4056.    Dim Tmp2       As String
  4057.    Dim i          As Integer
  4058.    Dim j          As Integer
  4059.    Dim ErrCode    As Integer
  4060.    Tmp1 = ""
  4061.    For i = 1 To 26
  4062.       Tmp = cGetNetConnection(Chr$(64 + i) & ":", ErrCode)
  4063.       If (ErrCode = True) Then
  4064.          Tmp1 = Tmp1 & "'" & Chr$(64 + i) & ":' is " & Tmp & Chr$(13)
  4065.       End If
  4066.    Next i
  4067.    For i = 1 To 3
  4068.       Tmp = cGetNetConnection("LPT" & i & ":", ErrCode)
  4069.       If (ErrCode = True) Then
  4070.          Tmp1 = Tmp1 & "'LPT" & i & ":' is " & Tmp & Chr$(13)
  4071.       End If
  4072.    Next i
  4073.    Tmp1 = Tmp1 + Chr$(13)
  4074.    cStartBasisTimer
  4075.    For i = 1 To ItemFile
  4076.       Tmp = cGetNetConnection("C", ErrCode)
  4077.    Next i
  4078.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  4079.    Label3.Caption = Tmp1
  4080. End Sub
  4081. Private Sub TestGetSystemDirectory()
  4082.    Dim Title      As String
  4083.    Dim Tmp        As String
  4084.    Dim Tmp1       As String
  4085.    Dim Tmp2       As String
  4086.    Dim i          As Integer
  4087.    Dim j          As Integer
  4088.    Tmp = cGetSystemDirectory()
  4089.    Tmp1 = Tmp & " is the system directory for Windows" & Chr$(13) & Chr$(13)
  4090.    cStartBasisTimer
  4091.    For i = 1 To Item
  4092.       Tmp2 = cGetSystemDirectory()
  4093.       If (Tmp <> Tmp2) Then Beep
  4094.    Next i
  4095.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4096.    Label3.Caption = Tmp1
  4097. End Sub
  4098. Private Sub TestGetTimeSeparator()
  4099.    Dim Title      As String
  4100.    Dim Tmp        As String
  4101.    Dim Tmp1       As String
  4102.    Dim Tmp2       As String
  4103.    Dim i          As Integer
  4104.    Dim j          As Integer
  4105.    Tmp = cGetTimeSeparator()
  4106.    Tmp1 = "The following char '" & Tmp & "' is the time separator" & Chr$(13) & Chr$(13)
  4107.    cStartBasisTimer
  4108.    For i = 1 To Item
  4109.       Tmp2 = cGetTimeSeparator()
  4110.       If (Tmp <> Tmp2) Then Beep
  4111.    Next i
  4112.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4113.    Label3.Caption = Tmp1
  4114. End Sub
  4115. Private Sub TestGetWindowsDirectory()
  4116.    Dim Title      As String
  4117.    Dim Tmp        As String
  4118.    Dim Tmp1       As String
  4119.    Dim Tmp2       As String
  4120.    Dim i          As Integer
  4121.    Dim j          As Integer
  4122.    Tmp = cGetWindowsDirectory()
  4123.    Tmp1 = Tmp & " is the directory for Windows" & Chr$(13) & Chr$(13)
  4124.    cStartBasisTimer
  4125.    For i = 1 To Item
  4126.       Tmp2 = cGetWindowsDirectory()
  4127.       If (Tmp <> Tmp2) Then Beep
  4128.    Next i
  4129.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4130.    Label3.Caption = Tmp1
  4131. End Sub
  4132. Private Sub TestGiveBitPalindrome()
  4133.    Dim Title      As String
  4134.    Dim Tmp        As String
  4135.    Dim Tmp1       As String
  4136.    Dim Tmp2       As String
  4137.    Dim i          As Integer
  4138.    Dim j          As Integer
  4139.    Title = "The followings chars are Bit Palindrome : " & Chr$(13) & Chr$(13)
  4140.    Tmp1 = Tmp1 & Title & "chr(0) and  " & cBlockCharFromRight(cGiveBitPalindrome(), 1) & Chr$(13) & Chr$(13)
  4141.    cStartBasisTimer
  4142.    For i = 1 To Item
  4143.       Tmp2 = cGiveBitPalindrome()
  4144.    Next i
  4145.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4146.    Label3.Caption = Tmp1
  4147. End Sub
  4148. Private Sub TestHideAllEditForm()
  4149.    Dim N       As Integer
  4150.    Dim Tmp     As String
  4151.    If (cHideAllEditForm() = True) Then
  4152.       Tmp = "HideAllEditForm SUCCESS"
  4153.    Else
  4154.       Tmp = "HideAllEditForm FAIL"
  4155.    End If
  4156.    Tmp = Tmp & Chr$(13) & "Waiting 2 seconds" & Chr$(13)
  4157.    Label3.Caption = Tmp
  4158.    DoEvents
  4159.    N = cSleep(2000)
  4160.    If (cUnHideAllEditForm() = True) Then
  4161.       Tmp = Tmp & "UnHideAllEditForm SUCCESS"
  4162.    Else
  4163.       Tmp = Tmp & "UnHideAllEditForm FAIL"
  4164.    End If
  4165.    Label3.Caption = Tmp
  4166. End Sub
  4167. Private Sub TestHideDebugForm()
  4168.    Dim N       As Integer
  4169.    Dim Tmp     As String
  4170.    If (cHideDebugForm() = True) Then
  4171.       Tmp = "HideDebugForm SUCCESS"
  4172.    Else
  4173.       Tmp = "HideDebugForm FAIL"
  4174.    End If
  4175.    Tmp = Tmp & Chr$(13) & "Waiting 2 seconds" & Chr$(13)
  4176.    Label3.Caption = Tmp
  4177.    DoEvents
  4178.    N = cSleep(2000)
  4179.    If (cUnHideDebugForm() = True) Then
  4180.       Tmp = Tmp & "UnHideDebugForm SUCCESS"
  4181.    Else
  4182.       Tmp = Tmp & "UnHideDebugForm FAIL"
  4183.    End If
  4184.    Label3.Caption = Tmp
  4185. End Sub
  4186. Private Sub TestHMAL(Management As Integer)
  4187.    Dim Tmp        As String
  4188.    Dim ErrCode    As Integer
  4189.    Dim HMA        As tagHMA
  4190.    HMA.nType = DA_LONG
  4191.    HMA.nIsTyped = False
  4192.    HMA.nRows = 100
  4193.    HMA.nCols = 100
  4194.    HMA.nSheets = 2
  4195.    ErrCode = cHMACreate(HMA)
  4196.    Tmp = Tmp & "ErrCode = " & ErrCode & Chr$(13) & Chr$(13)
  4197.    If (ErrCode = True) Then
  4198.       
  4199.       Tmp = Tmp & "HMA.daSize       = " & HMA.daSize & Chr$(13)
  4200.       Tmp = Tmp & "HMA.nType        = " & HMA.nType & Chr$(13)
  4201.       Tmp = Tmp & "HMA.nIsTyped     = " & HMA.nIsTyped & Chr$(13)
  4202.       Tmp = Tmp & "HMA.nRows        = " & HMA.nRows & Chr$(13)
  4203.       Tmp = Tmp & "HMA.nCols        = " & HMA.nCols & Chr$(13)
  4204.       Tmp = Tmp & "HMA.nSheets      = " & HMA.nSheets & Chr$(13)
  4205.       Tmp = Tmp & "HMA.rHandle      = " & HMA.rHandle & Chr$(13)
  4206.       Tmp = Tmp & "HMA.rElementSize = " & HMA.rElementSize & Chr$(13)
  4207.       Tmp = Tmp & "HMA.rMemorySize  = " & HMA.rMemorySize & Chr$(13)
  4208.       Tmp = Tmp & "HMA.rParts       = " & HMA.rParts & Chr$(13)
  4209.       Tmp = Tmp & "HMA.rRemain      = " & HMA.rRemain & Chr$(13)
  4210.       Tmp = Tmp & "HMA.rSheetSize   = " & HMA.rSheetSize & Chr$(13) & Chr$(13)
  4211.       
  4212.       Call cHMAPut(HMA, 1, 1, 1, 12345)
  4213.       Call cHMAPut(HMA, HMA.nRows, HMA.nCols, 1, 98765)
  4214.       
  4215.       Call cHMAPut(HMA, 1, HMA.nCols, 2, 34567890)
  4216.       Call cHMAPut(HMA, HMA.nRows, 1, 2, 123456789)
  4217.       Tmp = Tmp & "R:1  , C:1  , D:1, Value : " & cHMAGet(HMA, 1, 1, 1) & Chr$(13)
  4218.       Tmp = Tmp & "R:" & HMA.nRows & ", C:" & HMA.nCols & ", D:1, Value : " & cHMAGet(HMA, HMA.nRows, HMA.nCols, 1) & Chr$(13)
  4219.       
  4220.       Tmp = Tmp & "R:1  , C:" & HMA.nCols & ", D:2, Value : " & cHMAGet(HMA, 1, HMA.nCols, 2) & Chr$(13)
  4221.       Tmp = Tmp & "R:" & HMA.nRows & ", C:1  , D:2, Value : " & cHMAGet(HMA, HMA.nRows, 1, 2) & Chr$(13) & Chr$(13)
  4222.       If (Management > 0) Then
  4223.          Select Case Management
  4224.             Case 1         'clear all
  4225.                ErrCode = cHMAClear(HMA)
  4226.             Case 2         'clear sheet 2
  4227.                ErrCode = cHMAClearSheet(HMA, 2)
  4228.             Case 3         'clear last row
  4229.                ErrCode = cHMAClearRow(HMA, HMA.nRows, 1)
  4230.             Case 4         'clear last col
  4231.                ErrCode = cHMAClearCol(HMA, HMA.nCols, 1)
  4232.             Case 5         'clear last row in all sheets
  4233.                ErrCode = cHMAClearRow(HMA, HMA.nRows, -1)
  4234.             Case 6         'clear last col in all sheets
  4235.                ErrCode = cHMAClearCol(HMA, HMA.nCols, -1)
  4236.          End Select
  4237.          Tmp = Tmp & "R:1  , C:1  , D:1, Value : " & cHMAGet(HMA, 1, 1, 1) & Chr$(13)
  4238.          Tmp = Tmp & "R:" & HMA.nRows & ", C:" & HMA.nCols & ", D:1, Value : " & cHMAGet(HMA, HMA.nRows, HMA.nCols, 1) & Chr$(13)
  4239.          
  4240.          Tmp = Tmp & "R:1  , C:" & HMA.nCols & ", D:2, Value : " & cHMAGet(HMA, 1, HMA.nCols, 2) & Chr$(13)
  4241.          Tmp = Tmp & "R:" & HMA.nRows & ", C:1  , D:2, Value : " & cHMAGet(HMA, HMA.nRows, 1, 2) & Chr$(13)
  4242.       End If
  4243.    End If
  4244.    ErrCode = cHMAFree(HMA)
  4245.    Label3.Caption = Tmp
  4246. End Sub
  4247. Private Sub TestHMAStr(Management As Integer)
  4248.    Dim Tmp        As String
  4249.    Dim ErrCode    As Integer
  4250.    Dim HMA        As tagHMA
  4251.    HMA.nType = 50
  4252.    HMA.nIsTyped = False
  4253.    HMA.nRows = 100
  4254.    HMA.nCols = 100
  4255.    HMA.nSheets = 2
  4256.    ErrCode = cHMACreate(HMA)
  4257.    Tmp = Tmp & "ErrCode = " & ErrCode & Chr$(13) & Chr$(13)
  4258.    If (ErrCode = True) Then
  4259.       
  4260.       Tmp = Tmp & "HMA.daSize       = " & HMA.daSize & Chr$(13)
  4261.       Tmp = Tmp & "HMA.nType        = " & HMA.nType & Chr$(13)
  4262.       Tmp = Tmp & "HMA.nIsTyped     = " & HMA.nIsTyped & Chr$(13)
  4263.       Tmp = Tmp & "HMA.nRows        = " & HMA.nRows & Chr$(13)
  4264.       Tmp = Tmp & "HMA.nCols        = " & HMA.nCols & Chr$(13)
  4265.       Tmp = Tmp & "HMA.nSheets      = " & HMA.nSheets & Chr$(13)
  4266.       Tmp = Tmp & "HMA.rHandle      = " & HMA.rHandle & Chr$(13)
  4267.       Tmp = Tmp & "HMA.rElementSize = " & HMA.rElementSize & Chr$(13)
  4268.       Tmp = Tmp & "HMA.rMemorySize  = " & HMA.rMemorySize & Chr$(13)
  4269.       Tmp = Tmp & "HMA.rParts       = " & HMA.rParts & Chr$(13)
  4270.       Tmp = Tmp & "HMA.rRemain      = " & HMA.rRemain & Chr$(13)
  4271.       Tmp = Tmp & "HMA.rSheetSize   = " & HMA.rSheetSize & Chr$(13) & Chr$(13)
  4272.       
  4273.       Call cHMAPut(HMA, 1, 1, 1, "D:1, ABCDEFGHIJ")
  4274.       Call cHMAPut(HMA, HMA.nRows, HMA.nCols, 1, "D:1, oprqstuvwxyz")
  4275.       
  4276.       Call cHMAPut(HMA, 1, HMA.nCols, 2, "D:2, 0987654321")
  4277.       Call cHMAPut(HMA, HMA.nRows, 1, 2, "D:2, 12345ABCDE")
  4278.       Tmp = Tmp & "R:1  , C:1  , D:1, Value : " & cHMAGet(HMA, 1, 1, 1) & Chr$(13)
  4279.       Tmp = Tmp & "R:" & HMA.nRows & ", C:" & HMA.nCols & ", D:1, Value : " & cHMAGet(HMA, HMA.nRows, HMA.nCols, 1) & Chr$(13)
  4280.       
  4281.       Tmp = Tmp & "R:1  , C:" & HMA.nCols & ", D:2, Value : " & cHMAGet(HMA, 1, HMA.nCols, 2) & Chr$(13)
  4282.       Tmp = Tmp & "R:" & HMA.nRows & ", C:1  , D:2, Value : " & cHMAGet(HMA, HMA.nRows, 1, 2) & Chr$(13) & Chr$(13)
  4283.       If (Management > 0) Then
  4284.          Select Case Management
  4285.             Case 1         'clear all
  4286.                ErrCode = cHMAClear(HMA)
  4287.             Case 2         'clear sheet 2
  4288.                ErrCode = cHMAClearSheet(HMA, 2)
  4289.             Case 3         'clear last row
  4290.                ErrCode = cHMAClearRow(HMA, HMA.nRows, 1)
  4291.             Case 4         'clear last col
  4292.                ErrCode = cHMAClearCol(HMA, HMA.nCols, 1)
  4293.             Case 5         'clear last row in all sheets
  4294.                ErrCode = cHMAClearRow(HMA, HMA.nRows, -1)
  4295.             Case 6         'clear last col in all sheets
  4296.                ErrCode = cHMAClearCol(HMA, HMA.nCols, -1)
  4297.          End Select
  4298.          Tmp = Tmp & "R:1  , C:1  , D:1, Value : " & cHMAGet(HMA, 1, 1, 1) & Chr$(13)
  4299.          Tmp = Tmp & "R:" & HMA.nRows & ", C:" & HMA.nCols & ", D:1, Value : " & cHMAGet(HMA, HMA.nRows, HMA.nCols, 1) & Chr$(13)
  4300.          
  4301.          Tmp = Tmp & "R:1  , C:" & HMA.nCols & ", D:2, Value : " & cHMAGet(HMA, 1, HMA.nCols, 2) & Chr$(13)
  4302.          Tmp = Tmp & "R:" & HMA.nRows & ", C:1  , D:2, Value : " & cHMAGet(HMA, HMA.nRows, 1, 2) & Chr$(13)
  4303.       End If
  4304.    End If
  4305.    ErrCode = cHMAFree(HMA)
  4306.    Label3.Caption = Tmp
  4307. End Sub
  4308. Private Sub TestHMAType(Management As Integer)
  4309.    Dim Tmp        As String
  4310.    Dim ErrCode    As Integer
  4311.    Dim HMA        As tagHMA
  4312.    Dim TE         As tagTASKENTRY
  4313.    HMA.nType = Len(TE)
  4314.    HMA.nIsTyped = True
  4315.    HMA.nRows = 100
  4316.    HMA.nCols = 100
  4317.    HMA.nSheets = 2
  4318.    ErrCode = cHMACreate(HMA)
  4319.    Tmp = Tmp & "ErrCode = " & ErrCode & Chr$(13) & Chr$(13)
  4320.    If (ErrCode = True) Then
  4321.       
  4322.       Tmp = Tmp & "HMA.daSize       = " & HMA.daSize & Chr$(13)
  4323.       Tmp = Tmp & "HMA.nType        = " & HMA.nType & Chr$(13)
  4324.       Tmp = Tmp & "HMA.nIsTyped     = " & HMA.nIsTyped & Chr$(13)
  4325.       Tmp = Tmp & "HMA.nRows        = " & HMA.nRows & Chr$(13)
  4326.       Tmp = Tmp & "HMA.nCols        = " & HMA.nCols & Chr$(13)
  4327.       Tmp = Tmp & "HMA.nSheets      = " & HMA.nSheets & Chr$(13)
  4328.       Tmp = Tmp & "HMA.rHandle      = " & HMA.rHandle & Chr$(13)
  4329.       Tmp = Tmp & "HMA.rElementSize = " & HMA.rElementSize & Chr$(13)
  4330.       Tmp = Tmp & "HMA.rMemorySize  = " & HMA.rMemorySize & Chr$(13)
  4331.       Tmp = Tmp & "HMA.rParts       = " & HMA.rParts & Chr$(13)
  4332.       Tmp = Tmp & "HMA.rRemain      = " & HMA.rRemain & Chr$(13)
  4333.       Tmp = Tmp & "HMA.rSheetSize   = " & HMA.rSheetSize & Chr$(13) & Chr$(13)
  4334.       ErrCode = cTasks(TE, True)
  4335.       Call cHMAPutType(HMA, 1, 1, 1, TE)
  4336.       ErrCode = cTasks(TE, False)
  4337.       Call cHMAPutType(HMA, HMA.nRows, HMA.nCols, 1, TE)
  4338.       
  4339.       ErrCode = cTasks(TE, False)
  4340.       Call cHMAPutType(HMA, 1, HMA.nCols, 2, TE)
  4341.       ErrCode = cTasks(TE, False)
  4342.       Call cHMAPutType(HMA, HMA.nRows, 1, 2, TE)
  4343.       
  4344.       Call cHMAGetType(HMA, 1, 1, 1, TE)
  4345.       Tmp = Tmp & "R:1  , C:1  , D:1, TE.szModule : " & cCompress(TE.szModule) & Chr$(13)
  4346.       Call cHMAGetType(HMA, HMA.nRows, HMA.nCols, 1, TE)
  4347.       Tmp = Tmp & "R:" & HMA.nRows & ", C:" & HMA.nCols & ", D:1, TE.szModule : " & cCompress(TE.szModule) & Chr$(13)
  4348.       
  4349.       Call cHMAGetType(HMA, 1, HMA.nCols, 2, TE)
  4350.       Tmp = Tmp & "R:1  , C:" & HMA.nCols & ", D:2, TE.szModule : " & cCompress(TE.szModule) & Chr$(13)
  4351.       Call cHMAGetType(HMA, HMA.nRows, 1, 2, TE)
  4352.       Tmp = Tmp & "R:" & HMA.nRows & ", C:1  , D:2, TE.szModule : " & cCompress(TE.szModule) & Chr$(13) & Chr$(13)
  4353.       If (Management > 0) Then
  4354.          Select Case Management
  4355.             Case 1         'clear all
  4356.                ErrCode = cHMAClear(HMA)
  4357.             Case 2         'clear sheet 2
  4358.                ErrCode = cHMAClearSheet(HMA, 2)
  4359.             Case 3         'clear last row
  4360.                ErrCode = cHMAClearRow(HMA, HMA.nRows, 1)
  4361.             Case 4         'clear last col
  4362.                ErrCode = cHMAClearCol(HMA, HMA.nCols, 1)
  4363.             Case 5         'clear last row in all sheets
  4364.                ErrCode = cHMAClearRow(HMA, HMA.nRows, -1)
  4365.             Case 6         'clear last col in all sheets
  4366.                ErrCode = cHMAClearCol(HMA, HMA.nCols, -1)
  4367.          End Select
  4368.          Call cHMAGetType(HMA, 1, 1, 1, TE)
  4369.          Tmp = Tmp & "R:1  , C:1  , D:1, TE.szModule : " & cCompress(TE.szModule) & Chr$(13)
  4370.          Call cHMAGetType(HMA, HMA.nRows, HMA.nCols, 1, TE)
  4371.          Tmp = Tmp & "R:" & HMA.nRows & ", C:" & HMA.nCols & ", D:1, TE.szModule : " & cCompress(TE.szModule) & Chr$(13)
  4372.       
  4373.          Call cHMAGetType(HMA, 1, HMA.nCols, 2, TE)
  4374.          Tmp = Tmp & "R:1  , C:" & HMA.nCols & ", D:2, TE.szModule : " & cCompress(TE.szModule) & Chr$(13)
  4375.          Call cHMAGetType(HMA, HMA.nRows, 1, 2, TE)
  4376.          Tmp = Tmp & "R:" & HMA.nRows & ", C:1  , D:2, TE.szModule : " & cCompress(TE.szModule) & Chr$(13)
  4377.       End If
  4378.    End If
  4379.    ErrCode = cHMAFree(HMA)
  4380.    Label3.Caption = Tmp
  4381. End Sub
  4382. Private Sub TestHourTo()
  4383.    Dim Title      As String
  4384.    Dim Tmp        As String
  4385.    Dim Tmp1       As String
  4386.    Dim Tmp2       As String
  4387.    Dim i          As Integer
  4388.    Dim j          As Integer
  4389.    Tmp1 = "The time 10:00 is " & cHourTo("10:00") & " minutes" & Chr$(13)
  4390.    Tmp1 = Tmp1 & "The time 23:58 is " & cHourTo("23:58") & " minutes" & Chr$(13)
  4391.    Tmp1 = Tmp1 & "The time 7:36 is " & cHourTo("7:36") & " minutes" & Chr$(13)
  4392.    Tmp1 = Tmp1 & "The time :24 is " & cHourTo(":24") & " minutes" & Chr$(13)
  4393.    Tmp1 = Tmp1 & "The time :4 is " & cHourTo(":4") & " minutes" & Chr$(13)
  4394.    Tmp1 = Tmp1 & "The time : is " & cHourTo(":") & " minutes" & Chr$(13) & Chr$(13)
  4395.    Tmp1 = Tmp1 & "The time -10:00 is " & cHourTo("-10:00") & " minutes" & Chr$(13)
  4396.    Tmp1 = Tmp1 & "The time -23:58 is " & cHourTo("-23:58") & " minutes" & Chr$(13)
  4397.    Tmp1 = Tmp1 & "The time -7:36 is " & cHourTo("-7:36") & " minutes" & Chr$(13)
  4398.    Tmp1 = Tmp1 & "The time -:24 is " & cHourTo("-:24") & " minutes" & Chr$(13)
  4399.    Tmp1 = Tmp1 & "The time -:4 is " & cHourTo("-:4") & " minutes" & Chr$(13)
  4400.    Tmp1 = Tmp1 & "The time -: is " & cHourTo("-:") & " minutes" & Chr$(13) & Chr$(13)
  4401.    cStartBasisTimer
  4402.    For i = 1 To Item
  4403.       j = cHourTo("23:59")
  4404.    Next i
  4405.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4406.    Label3.Caption = Tmp1
  4407. End Sub
  4408. Private Sub TestInpBox()
  4409.    Dim i       As Integer
  4410.    Dim N       As Integer
  4411.    Dim Tmp     As String
  4412.    Dim Tmp1    As String
  4413.    Tmp = "'T2WIN-16'" & Chr$(13) & Chr$(13)
  4414.    Tmp = Tmp & " is a powerfull data link library for using with Visual Basic 3.0 for Windows." & Chr$(13)
  4415.    Tmp = Tmp & "It looks very better than the standard message box." & Chr$(13)
  4416.    Tmp = Tmp & "All push buttons are displayed in French." & Chr$(13)
  4417.    Tmp = Tmp & "The system menu is also in French."
  4418.    Tmp1 = cLngInpBox(LNG_FRENCH, Tmp, "Input Box in French", "" & Text1.Text)
  4419.    Tmp1 = InputBox$("This is a standard input box", "VB INPUT BOX", "" & Text1.Text)
  4420. End Sub
  4421. Private Sub TestInsertBlocks()
  4422.    Dim Title      As String
  4423.    Dim Tmp        As String
  4424.    Dim Tmp1       As String
  4425.    Dim Tmp2       As String
  4426.    Dim i          As Integer
  4427.    Dim j          As Integer
  4428.    Tmp = "A~BC~DEF~GHIJ~"
  4429.    Title = "Insert 'a','bc','def','ghij' into [" & Tmp & "] is " & Chr$(13) & Chr$(13)
  4430.    Tmp1 = Title & cInsertBlocks(Tmp, "a~bc~def~ghij") & Chr$(13) & Chr$(13)
  4431.    Title = "Insert '' into [" & Tmp & "] is " & Chr$(13) & Chr$(13)
  4432.    Tmp1 = Tmp1 & Title & cInsertBlocks(Tmp, "") & Chr$(13) & Chr$(13)
  4433.    cStartBasisTimer
  4434.    For i = 1 To Item
  4435.       Tmp2 = cInsertBlocks(Tmp, "a")
  4436.    Next i
  4437.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4438.    Label3.Caption = Tmp1
  4439. End Sub
  4440. Private Sub TestInsertBlocksBy()
  4441.    Dim Title      As String
  4442.    Dim Tmp        As String
  4443.    Dim Tmp1       As String
  4444.    Dim Tmp2       As String
  4445.    Dim i          As Integer
  4446.    Dim j          As Integer
  4447.    Tmp = Text1.Text
  4448.    Title = "Insert 'a','bc','def','ghij' into [" & Tmp & "] is " & Chr$(13) & Chr$(13)
  4449.    Tmp1 = Title & cInsertBlocksBy(Tmp, "a/bc/def/ghij", "/") & Chr$(13) & Chr$(13)
  4450.    Title = "Insert '' into [" & Tmp & "] is " & Chr$(13) & Chr$(13)
  4451.    Tmp1 = Tmp1 & Title & cInsertBlocksBy(Tmp, "", "/") & Chr$(13) & Chr$(13)
  4452.    cStartBasisTimer
  4453.    For i = 1 To Item
  4454.       Tmp2 = cInsertBlocksBy(Tmp, "a/bc/def/ghij", "/")
  4455.    Next i
  4456.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4457.    Label3.Caption = Tmp1
  4458. End Sub
  4459. Private Sub TestInsertChars()
  4460.    Dim Title      As String
  4461.    Dim Tmp        As String
  4462.    Dim Tmp1       As String
  4463.    Dim Tmp2       As String
  4464.    Dim i          As Integer
  4465.    Dim j          As Integer
  4466.    Tmp = Text1.Text
  4467.    Title = "Insert 'a' from 7 char into [" & Tmp & "] is " & Chr$(13) & Chr$(13)
  4468.    Tmp1 = Title & cInsertChars(Tmp, 7, "a") & Chr$(13) & Chr$(13)
  4469.    Title = "Insert '10$' from 2 char into [" & Tmp & "] is " & Chr$(13) & Chr$(13)
  4470.    Tmp1 = Tmp1 & Title & cInsertChars(Tmp, 2, "10$") & Chr$(13) & Chr$(13)
  4471.    Title = "Insert '@' from 21 char into [" & Tmp & "] is " & Chr$(13) & Chr$(13)
  4472.    Tmp1 = Tmp1 & Title & cInsertChars(Tmp, 21, "@") & Chr$(13) & Chr$(13)
  4473.    cStartBasisTimer
  4474.    For i = 1 To Item
  4475.       Tmp2 = cInsertChars(Tmp, 1, "a")
  4476.    Next i
  4477.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4478.    Label3.Caption = Tmp1
  4479. End Sub
  4480. Private Sub TestIntoBalance()
  4481.    Dim Title      As String
  4482.    Dim Tmp        As String
  4483.    Dim Tmp1       As String
  4484.    Dim Tmp2       As String
  4485.    Dim i          As Integer
  4486.    Dim j          As Integer
  4487.    j = 1234
  4488.    Title = "Convert minutes into balance : " & Chr$(13) & Chr$(13)
  4489.    Tmp1 = Title & Chr$(13)
  4490.    For i = 0 To 11
  4491.       Tmp1 = Tmp1 & (j + i) & " { " & cIntoBalanceFill(j + i) & " }" & Chr$(9) & Chr$(9)
  4492.       Tmp1 = Tmp1 & "{ " & cIntoBalance(j + i) & " }" & Chr$(13)
  4493.    Next i
  4494.    Tmp1 = Tmp1 & Chr$(13)
  4495.    cStartBasisTimer
  4496.    For i = 1 To Item
  4497.       Tmp2 = cIntoBalanceFill(i)
  4498.    Next i
  4499.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4500.    Label3.Caption = Tmp1
  4501. End Sub
  4502. Private Sub TestIntoFixHour()
  4503.    Dim Title      As String
  4504.    Dim Tmp        As String
  4505.    Dim Tmp1       As String
  4506.    Dim Tmp2       As String
  4507.    Dim i          As Integer
  4508.    Dim j          As Integer
  4509.    j = 12345
  4510.    Title = "Convert " & j & " minutes into fixed hour : " & Chr$(13) & Chr$(13)
  4511.    Tmp1 = Title & Chr$(13)
  4512.    For i = 0 To 11
  4513.       Tmp1 = Tmp1 & "{ " & cIntoFixHour(j, i, True, False) & " }" & Chr$(9) & Chr$(9)
  4514.       Tmp1 = Tmp1 & "{ " & cIntoFixHour(j, i, False, False) & " }" & Chr$(13)
  4515.    Next i
  4516.    Tmp1 = Tmp1 & Chr$(13)
  4517.    cStartBasisTimer
  4518.    For i = 1 To Item
  4519.       Tmp2 = cIntoFixHour(12345, 8, True, False)
  4520.    Next i
  4521.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4522.    Label3.Caption = Tmp1
  4523. End Sub
  4524. Private Sub TestIntoHour()
  4525.    Dim Title      As String
  4526.    Dim Tmp        As String
  4527.    Dim Tmp1       As String
  4528.    Dim Tmp2       As String
  4529.    Dim i          As Integer
  4530.    Dim j          As Integer
  4531.    j = 1234
  4532.    Title = "Convert minutes into hour : " & Chr$(13) & Chr$(13)
  4533.    Tmp1 = Title & Chr$(13)
  4534.    For i = 0 To 11
  4535.       Tmp1 = Tmp1 & (j + i) & " { " & cIntoHour(j + i) & " }" & Chr$(13)
  4536.    Next i
  4537.    Tmp1 = Tmp1 & Chr$(13)
  4538.    cStartBasisTimer
  4539.    For i = 1 To Item
  4540.       Tmp2 = cIntoHour(i)
  4541.    Next i
  4542.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4543.    Label3.Caption = Tmp1
  4544. End Sub
  4545. Private Sub TestIntoVarHour()
  4546.    Dim Title      As String
  4547.    Dim Tmp        As String
  4548.    Dim Tmp1       As String
  4549.    Dim Tmp2       As String
  4550.    Dim i          As Integer
  4551.    Dim j          As Integer
  4552.    Dim k          As Long
  4553.                             
  4554.    Title = "Convert minutes into variable hour : " & Chr$(13) & Chr$(13)
  4555.    Tmp1 = Title & Chr$(13)
  4556.    For i = 1 To 9
  4557.       Tmp2 = Tmp2 & (10 - i)
  4558.       Tmp1 = Tmp1 & Tmp2 & " { " & cIntoVarHour(Val(Tmp2)) & " }" & Chr$(13)
  4559.    Next i
  4560.    Tmp1 = Tmp1 & Chr$(13)
  4561.    cStartBasisTimer
  4562.    For i = 1 To Item
  4563.       Tmp2 = cIntoVarHour(123456789)
  4564.    Next i
  4565.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4566.    Label3.Caption = Tmp1
  4567. End Sub
  4568. Private Sub TestIsBitPalindrome()
  4569.    Dim Title      As String
  4570.    Dim Tmp        As String
  4571.    Dim Tmp1       As String
  4572.    Dim Tmp2       As String
  4573.    Dim i          As Integer
  4574.    Dim j          As Integer
  4575.    Tmp = Text1.Text
  4576.    Title = "[" & Tmp & "] is "
  4577.    Tmp1 = Title & IIf(cIsPalindrome(Tmp), "a Bit Palindrome", " not a Bit Palindrome") & Chr$(13) & Chr$(13)
  4578.    For i = 1 To 255
  4579.       If cIsBitPalindrome(Chr$(i)) Then Tmp2 = Tmp2 + Chr$(i) & "(" & i & ")" & Chr$(9)
  4580.    Next i
  4581.    Title = "The followings chars are Bit Palindrome : " & Chr$(13) & Chr$(13)
  4582.    Tmp1 = Tmp1 & Title & Tmp2 & Chr$(13) & Chr$(13)
  4583.    cStartBasisTimer
  4584.    For i = 1 To Item
  4585.       j = cIsPalindrome(Tmp)
  4586.    Next i
  4587.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4588.    Label3.Caption = Tmp1
  4589. End Sub
  4590. Private Sub TestIsFileX()
  4591.    Dim Title      As String
  4592.    Dim Tmp        As String
  4593.    Dim Tmp1       As String
  4594.    Dim Tmp2       As String
  4595.    Dim i          As Integer
  4596.    Dim j          As Integer
  4597.    Tmp = cFilesInDirectory("*.*", True)
  4598.    Title = "[" & Tmp & "] is "
  4599.    Tmp1 = Title & Chr$(13) & Chr$(13)
  4600.    Tmp1 = Tmp1 & IIf(cIsFilenameValid(Tmp), " a good filename", " is not a good filename") & Chr$(13)
  4601.    Tmp1 = Tmp1 & IIf(cIsFileArchive(Tmp), " archive", " not archive") & Chr$(13)
  4602.    Tmp1 = Tmp1 & IIf(cIsFileHidden(Tmp), " hidden", " not hidden") & Chr$(13)
  4603.    Tmp1 = Tmp1 & IIf(cIsFileNormal(Tmp), " normal", " not normal") & Chr$(13)
  4604.    Tmp1 = Tmp1 & IIf(cIsFileReadOnly(Tmp), " read-only", " not read-only") & Chr$(13)
  4605.    Tmp1 = Tmp1 & IIf(cIsFileSubDir(Tmp), " sub-directory", " not sub-directory") & Chr$(13)
  4606.    Tmp1 = Tmp1 & IIf(cIsFileSystem(Tmp), " system", " not system") & Chr$(13)
  4607.    Tmp1 = Tmp1 & IIf(cIsFileVolId(Tmp), " volume-id", " not volume-id") & Chr$(13) & Chr$(13)
  4608.    cStartBasisTimer
  4609.    For i = 1 To Item
  4610.       j = cIsFileArchive(Tmp)
  4611.    Next i
  4612.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4613.    Label3.Caption = Tmp1
  4614. End Sub
  4615. Private Sub TestIsPalindrome()
  4616.    Dim Title      As String
  4617.    Dim Tmp        As String
  4618.    Dim Tmp1       As String
  4619.    Dim Tmp2       As String
  4620.    Dim i          As Integer
  4621.    Dim j          As Integer
  4622.    Tmp = Text1.Text
  4623.    Title = "[" & Tmp & "] is "
  4624.    Tmp1 = Title & IIf(cIsPalindrome(Tmp), "a Palindrome", " not a Palindrome") & Chr$(13) & Chr$(13)
  4625.    cStartBasisTimer
  4626.    For i = 1 To Item
  4627.       j = cIsPalindrome(Tmp)
  4628.    Next i
  4629.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4630.    Label3.Caption = Tmp1
  4631. End Sub
  4632. Private Sub TestIsX()
  4633.    Dim Title      As String
  4634.    Dim Tmp        As String
  4635.    Dim Tmp1       As String
  4636.    Dim Tmp2       As String
  4637.    Dim i          As Integer
  4638.    Dim j          As Integer
  4639.    Tmp = Text1.Text
  4640.    Tmp1 = "[" & Tmp & "] is " & Chr$(13)
  4641.    Tmp1 = Tmp1 & IIf(cIsDigit(Tmp), "Digit", " not Digit") & Chr$(13)
  4642.    Tmp1 = Tmp1 & IIf(cIsXdigit(Tmp), "XDigit", " not XDigit") & Chr$(13)
  4643.    Tmp1 = Tmp1 & IIf(cIsAlpha(Tmp), "Alpha", " not Alpha") & Chr$(13)
  4644.    Tmp1 = Tmp1 & IIf(cIsLower(Tmp), "Lower", " not Lower") & Chr$(13)
  4645.    Tmp1 = Tmp1 & IIf(cIsUpper(Tmp), "Upper", " not Upper") & Chr$(13)
  4646.    Tmp1 = Tmp1 & IIf(cIsAlnum(Tmp), "Alnum", " not Alnum") & Chr$(13)
  4647.    Tmp1 = Tmp1 & IIf(cIsUpper(Tmp), "Upper", " not Upper") & Chr$(13)
  4648.    Tmp1 = Tmp1 & IIf(cIsSpace(Tmp), "Space", " not Space") & Chr$(13)
  4649.    Tmp1 = Tmp1 & IIf(cIsPunct(Tmp), "Punct", " not Punct") & Chr$(13)
  4650.    Tmp1 = Tmp1 & IIf(cIsAscii(Tmp), "Ascii", " not Ascii") & Chr$(13)
  4651.    Tmp1 = Tmp1 & IIf(cIsCsym(Tmp), "Csym", " not Csym") & Chr$(13)
  4652.    Tmp1 = Tmp1 & IIf(cIsCsymf(Tmp), "Csymf", " not Csymf") & Chr$(13)
  4653.    Tmp1 = Tmp1 & IIf(cIsISBN(Tmp), "ISBN", " not ISBN") & Chr$(13) & Chr$(13)
  4654.    cStartBasisTimer
  4655.    For i = 1 To Item
  4656.       j = cIsDigit(Tmp)
  4657.    Next i
  4658.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4659.    Label3.Caption = Tmp1
  4660. End Sub
  4661. Private Sub TestKillDir()
  4662.    Dim Title      As String
  4663.    Dim Tmp        As String
  4664.    Dim Tmp1       As String
  4665.    Dim Tmp2       As String
  4666.    Dim i          As Integer
  4667.    Dim j          As Integer
  4668.    j = cMakeDir("c:\testing")
  4669.    Tmp1 = "Directory 'TESTING' " & IIf(cKillDir("c:\testing") = True, "deleted", "not deleted") & Chr$(13) & Chr$(13)
  4670.    cStartBasisTimer
  4671.    For i = 1 To ItemFile
  4672.       j = cKillDir("c:\testing")
  4673.    Next i
  4674.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  4675.    Label3.Caption = Tmp1
  4676. End Sub
  4677. Private Sub TestKillFile()
  4678.    Dim Title      As String
  4679.    Dim Tmp        As String
  4680.    Dim Tmp1       As String
  4681.    Dim Tmp2       As String
  4682.    Dim i          As Integer
  4683.    Dim j          As Integer
  4684.    Close #1
  4685.    Open "XY~YX~XY.~~~" For Output As #1
  4686.    Print #1, "this is a test";
  4687.    Close #1
  4688.    Tmp1 = "File XY~YX~XY.~~~ " & IIf(cKillFile("XY~YX~XY.~~~") = True, "destroyed", "not destroyed") & Chr$(13) & Chr$(13)
  4689.    cStartBasisTimer
  4690.    For i = 1 To Item
  4691.       j = cKillFile("XY~YX~XY.~~~")
  4692.    Next i
  4693.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4694.    Label3.Caption = Tmp1
  4695. End Sub
  4696. Private Sub TestKillFiles()
  4697.    Dim Title      As String
  4698.    Dim Tmp        As String
  4699.    Dim Tmp1       As String
  4700.    Dim Tmp2       As String
  4701.    Dim i          As Integer
  4702.    Dim j          As Integer
  4703.    For i = 1 To 34
  4704.       Close #1
  4705.       Open "C:\XY~YX~XY." & i For Output As #1
  4706.       Print #1, "this is a test";
  4707.       Close #1
  4708.    Next i
  4709.    Tmp1 = "Number of killed Files from 'C:XY~YX~XY.1' to 'C:XY~YX~XY.34' is " & cKillFiles("C:\XY~YX~XY.*") & Chr$(13) & Chr$(13)
  4710.    cStartBasisTimer
  4711.    For i = 1 To ItemFile
  4712.       j = cKillFiles("C:\XY~YX~XY.~~~")
  4713.    Next i
  4714.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  4715.    Label3.Caption = Tmp1
  4716. End Sub
  4717. Private Sub TestLanguage()
  4718.    Dim Title      As String
  4719.    Dim Tmp        As String
  4720.    Dim Tmp1       As String
  4721.    Dim Tmp2       As String
  4722.    Dim i          As Integer
  4723.    Dim j          As Integer
  4724.    Dim k          As Long
  4725.    Dim ErrCode    As Integer
  4726.    ReDim Lng(LNG_FRENCH To LNG_POLISH)
  4727.    k = Int(Now)
  4728.    Lng(LNG_FRENCH) = "LNG_FRENCH"
  4729.    Lng(LNG_DUTCH) = "LNG_DUTCH"
  4730.    Lng(LNG_GERMAN) = "LNG_GERMAN"
  4731.    Lng(LNG_ENGLISH) = "LNG_ENGLISH"
  4732.    Lng(LNG_ITALIAN) = "LNG_ITALIAN"
  4733.    Lng(LNG_SPANISH) = "LNG_SPANISH"
  4734.    Lng(LNG_CATALAN) = "LNG_CATALAN"
  4735.    Lng(LNG_POLISH) = "LNG_POLISH"
  4736.    Tmp1 = ""
  4737.    For i = LNG_FRENCH To LNG_POLISH
  4738.       Tmp1 = Tmp1 + Lng(i) + " : " + cGetLongDay(i, WeekDay(k)) & " " & Day(k) & " " & cGetLongMonth(i, Month(k)) & " " & Year(k) & Chr$(13)
  4739.    Next i
  4740.    Tmp1 = Tmp1 + Chr$(13)
  4741.    For i = LNG_FRENCH To LNG_POLISH
  4742.       Tmp1 = Tmp1 + Lng(i) + " : " + cGetShortDay(i, WeekDay(k)) & " " & Day(k) & " " & cGetShortMonth(i, Month(k)) & " " & Year(k) & Chr$(13)
  4743.    Next i
  4744.    Tmp1 = Tmp1 + Chr$(13)
  4745.    cStartBasisTimer
  4746.    For i = 1 To Item
  4747.       Tmp = cGetLongMonth(LNG_FRENCH, 12)
  4748.    Next i
  4749.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4750.    Label3.Caption = Tmp1
  4751. End Sub
  4752. Private Sub TestLrc()
  4753.    Dim Title      As String
  4754.    Dim Tmp        As String
  4755.    Dim Tmp1       As String
  4756.    Dim Tmp2       As String
  4757.    Dim i          As Integer
  4758.    Dim j          As Integer
  4759.    Tmp = Chr$(2) & "0a12721536"
  4760.    Tmp1 = "Lrc for [" & Tmp & "] is " & cLrc(Tmp) & Chr$(13) & Chr$(13)
  4761.    cStartBasisTimer
  4762.    For i = 1 To Item
  4763.       Tmp2 = cLrc(Tmp)
  4764.    Next i
  4765.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4766.    Label3.Caption = Tmp1
  4767. End Sub
  4768. Private Sub TestMakeDir()
  4769.    Dim Title      As String
  4770.    Dim Tmp        As String
  4771.    Dim Tmp1       As String
  4772.    Dim Tmp2       As String
  4773.    Dim i          As Integer
  4774.    Dim j          As Integer
  4775.    j = cKillDir("testing")
  4776.    Tmp1 = "Directory 'TESTING' " & IIf(cMakeDir("testing") = True, "created", "not created") & Chr$(13) & Chr$(13)
  4777.    cStartBasisTimer
  4778.    For i = 1 To ItemFile
  4779.       j = cMakeDir("testing")
  4780.    Next i
  4781.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  4782.    Label3.Caption = Tmp1
  4783. End Sub
  4784. Private Sub TestMakePath()
  4785.    Dim Title      As String
  4786.    Dim Tmp        As String
  4787.    Dim Tmp1       As String
  4788.    Dim Tmp2       As String
  4789.    Dim Tmp3       As String
  4790.    Dim i          As Integer
  4791.    Dim N          As Integer
  4792.    Dim j          As Long
  4793.    Dim SPLITPATH  As tagSPLITPATH
  4794.    Tmp1 = ""
  4795.    Tmp = cMakePath("c", "tmp", "test", "dat")
  4796.    Tmp1 = Tmp1 & "Make Path of (c,tmp,test,dat) is '" & Tmp & "'" & Chr$(13) & Chr$(13)
  4797.    Tmp1 = Tmp1 & "Split Path '" & Tmp & "' into four components is :" & Chr$(13) & Chr$(13)
  4798.    N = cSplitPath(Tmp, SPLITPATH)
  4799.    Tmp1 = Tmp1 & Space$(3) & SPLITPATH.nDrive & Chr$(13)
  4800.    Tmp1 = Tmp1 & Space$(3) & SPLITPATH.nDir & Chr$(13)
  4801.    Tmp1 = Tmp1 & Space$(3) & SPLITPATH.nName & Chr$(13)
  4802.    Tmp1 = Tmp1 & Space$(3) & SPLITPATH.nExt & Chr$(13) & Chr$(13)
  4803.    cStartBasisTimer
  4804.    For i = 1 To Item
  4805.       Tmp = cMakePath("c", "tmp", "test", "dat")
  4806.    Next i
  4807.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  4808.    Label3.Caption = Tmp1
  4809. End Sub
  4810. Private Sub TestMatrixAdd()
  4811.    Dim Tmp1       As String
  4812.    Dim TmpA       As String
  4813.    Dim TmpB       As String
  4814.    Dim TmpC       As String
  4815.    Dim i          As Integer
  4816.    Dim j          As Integer
  4817.    ReDim ArrayA(1 To 3, 1 To 3) As Double
  4818.    ReDim ArrayB(1 To 3, 1 To 3) As Double
  4819.    ReDim ArrayC(1 To 3, 1 To 3) As Double
  4820.    Randomize Timer
  4821.    For i = 1 To 3
  4822.       For j = 1 To 3
  4823.          ArrayA(i, j) = Int(RandI * Rnd(1))
  4824.          ArrayB(i, j) = Int(RandI * Rnd(1))
  4825.          ArrayC(i, j) = 0
  4826.          TmpA = TmpA + Format$(ArrayA(i, j), "00000  ")
  4827.          TmpB = TmpB + Format$(ArrayB(i, j), "00000  ")
  4828.       Next j
  4829.       TmpA = TmpA + Chr$(13)
  4830.       TmpB = TmpB + Chr$(13)
  4831.    Next i
  4832.    Call cMatrixAdd(3, ArrayA(), ArrayB(), ArrayC())
  4833.    For i = 1 To 3
  4834.       For j = 1 To 3
  4835.          TmpC = TmpC + Format$(ArrayC(i, j), "00000  ")
  4836.       Next j
  4837.       TmpC = TmpC + Chr$(13)
  4838.    Next i
  4839.    Tmp1 = Tmp1 & "First array (A) is " & Chr$(13) & Chr$(13) & TmpA & Chr$(13)
  4840.    Tmp1 = Tmp1 & "Second array (B) is " & Chr$(13) & Chr$(13) & TmpB & Chr$(13)
  4841.    Tmp1 = Tmp1 & "The sum (A) + (B) = (C) is " & Chr$(13) & Chr$(13) & TmpC & Chr$(13)
  4842.    cStartBasisTimer
  4843.    For i = 1 To ItemFile
  4844.       Call cMatrixAdd(3, ArrayA(), ArrayB(), ArrayC())
  4845.    Next i
  4846.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  4847.    Label3.Caption = Tmp1
  4848. End Sub
  4849. Private Sub TestMatrixCompare()
  4850.    Dim Tmp1       As String
  4851.    Dim TmpA       As String
  4852.    Dim TmpC       As String
  4853.    Dim i          As Integer
  4854.    Dim j          As Integer
  4855.    Dim Idem       As Integer
  4856.    ReDim ArrayA(1 To 3, 1 To 3) As Double
  4857.    ReDim ArrayC(1 To 3, 1 To 3) As Double
  4858.    Randomize Timer
  4859.    For i = 1 To 3
  4860.       For j = 1 To 3
  4861.          ArrayA(i, j) = Int(RandI * Rnd(1))
  4862.          ArrayC(i, j) = Int(RandI * Rnd(1))
  4863.          TmpA = TmpA + Format$(ArrayA(i, j), "00000  ")
  4864.          TmpC = TmpC + Format$(ArrayC(i, j), "00000  ")
  4865.       Next j
  4866.       TmpA = TmpA + Chr$(13)
  4867.       TmpC = TmpC + Chr$(13)
  4868.    Next i
  4869.    Idem = cMatrixCompare(3, ArrayA(), ArrayC())
  4870.    Tmp1 = Tmp1 & "First array (A) is " & Chr$(13) & Chr$(13) & TmpA & Chr$(13)
  4871.    Tmp1 = Tmp1 & "Second array (C) is " & Chr$(13) & Chr$(13) & TmpC & Chr$(13)
  4872.    Tmp1 = Tmp1 & "Compare of (A) = (C) is " & Idem & Chr$(13) & Chr$(13)
  4873.    TmpA = ""
  4874.    TmpC = ""
  4875.    For i = 1 To 3
  4876.       For j = 1 To 3
  4877.          ArrayA(i, j) = Int(RandI * Rnd(1))
  4878.          ArrayC(i, j) = ArrayA(i, j)
  4879.          TmpA = TmpA + Format$(ArrayA(i, j), "00000  ")
  4880.          TmpC = TmpC + Format$(ArrayC(i, j), "00000  ")
  4881.       Next j
  4882.       TmpA = TmpA + Chr$(13)
  4883.       TmpC = TmpC + Chr$(13)
  4884.    Next i
  4885.    Idem = cMatrixCompare(3, ArrayA(), ArrayC())
  4886.    Tmp1 = Tmp1 & "First array (A) is " & Chr$(13) & Chr$(13) & TmpA & Chr$(13)
  4887.    Tmp1 = Tmp1 & "Second array (C) is " & Chr$(13) & Chr$(13) & TmpC & Chr$(13)
  4888.    Tmp1 = Tmp1 & "Compare of (A) = (C) is " & Idem & Chr$(13) & Chr$(13)
  4889.    cStartBasisTimer
  4890.    For i = 1 To ItemFile
  4891.       Idem = cMatrixCompare(3, ArrayA(), ArrayC())
  4892.    Next i
  4893.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  4894.    Label3.Caption = Tmp1
  4895. End Sub
  4896. Private Sub TestMatrixCopy()
  4897.    Dim Tmp1       As String
  4898.    Dim TmpA       As String
  4899.    Dim TmpC       As String
  4900.    Dim i          As Integer
  4901.    Dim j          As Integer
  4902.    ReDim ArrayA(1 To 3, 1 To 3) As Double
  4903.    ReDim ArrayC(1 To 3, 1 To 3) As Double
  4904.    Randomize Timer
  4905.    For i = 1 To 3
  4906.       For j = 1 To 3
  4907.          ArrayA(i, j) = Int(RandI * Rnd(1))
  4908.          ArrayC(i, j) = 0
  4909.          TmpA = TmpA + Format$(ArrayA(i, j), "00000  ")
  4910.       Next j
  4911.       TmpA = TmpA + Chr$(13)
  4912.    Next i
  4913.    Call cMatrixCopy(3, ArrayA(), ArrayC())
  4914.    For i = 1 To 3
  4915.       For j = 1 To 3
  4916.          TmpC = TmpC + Format$(ArrayC(i, j), "00000  ")
  4917.       Next j
  4918.       TmpC = TmpC + Chr$(13)
  4919.    Next i
  4920.    Tmp1 = Tmp1 & "First array (A) is " & Chr$(13) & Chr$(13) & TmpA & Chr$(13)
  4921.    Tmp1 = Tmp1 & "Copy of (A) = (C) is " & Chr$(13) & Chr$(13) & TmpC & Chr$(13)
  4922.    cStartBasisTimer
  4923.    For i = 1 To ItemFile
  4924.       Call cMatrixCopy(3, ArrayA(), ArrayC())
  4925.    Next i
  4926.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  4927.    Label3.Caption = Tmp1
  4928. End Sub
  4929. Private Sub TestMatrixDet()
  4930.    Dim Tmp1       As String
  4931.    Dim TmpA       As String
  4932.    Dim TmpC       As String
  4933.    Dim i          As Integer
  4934.    Dim j          As Integer
  4935.    Dim det        As Double
  4936.    Dim nSize      As Integer
  4937.    nSize = 3
  4938.    ReDim ArrayA(1 To nSize, 1 To nSize) As Double
  4939.    Randomize Timer
  4940.    For i = 1 To nSize
  4941.       For j = 1 To nSize
  4942.          ArrayA(i, j) = Int(RandI * Rnd(1))
  4943.          TmpA = TmpA + Format$(ArrayA(i, j), "00000  ")
  4944.       Next j
  4945.       TmpA = TmpA + Chr$(13)
  4946.    Next i
  4947.    Tmp1 = Tmp1 & "First array (A) is " & Chr$(13) & Chr$(13) & TmpA & Chr$(13)
  4948.    Tmp1 = Tmp1 & "Det of (A) = " & cMatrixDet(nSize, ArrayA()) & Chr$(13) & Chr$(13)
  4949.    cStartBasisTimer
  4950.    For i = 1 To ItemFile
  4951.       det = cMatrixDet(nSize, ArrayA())
  4952.       DoEvents
  4953.    Next i
  4954.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  4955.    Label3.Caption = Tmp1
  4956. End Sub
  4957. Private Sub TestMatrixInv()
  4958.    Dim Tmp1       As String
  4959.    Dim TmpA       As String
  4960.    Dim TmpC       As String
  4961.    Dim i          As Integer
  4962.    Dim j          As Integer
  4963.    Dim result     As Integer
  4964.    ReDim ArrayA(1 To 3, 1 To 3) As Double
  4965.    ReDim ArrayC(1 To 3, 1 To 3) As Double
  4966.    Randomize Timer
  4967.    result = cMatrixFill(3, ArrayA(), MATRIX_ZERO)
  4968.    result = cMatrixFill(3, ArrayC(), MATRIX_UNIT)
  4969.    For i = 1 To 3
  4970.       For j = 1 To 3
  4971.          ArrayA(i, j) = Int(RandI * Rnd(1))
  4972.          TmpA = TmpA + Format$(ArrayA(i, j), "00000  ")
  4973.       Next j
  4974.       TmpA = TmpA + Chr$(13)
  4975.    Next i
  4976.    result = cMatrixInv(3, ArrayA(), ArrayC())
  4977.    If (result = True) Then
  4978.       For i = 1 To 3
  4979.          For j = 1 To 3
  4980.             TmpC = TmpC + Format$(ArrayC(i, j), "0.0000000  ")
  4981.          Next j
  4982.          TmpC = TmpC + Chr$(13)
  4983.       Next i
  4984.    Else
  4985.       TmpC = " 'can be inverted'"
  4986.    End If
  4987.    Tmp1 = Tmp1 & "First array (A) is " & Chr$(13) & TmpA & Chr$(13)
  4988.    Tmp1 = Tmp1 & "Inv of (A) = (C) is " & Chr$(13) & TmpC & Chr$(13)
  4989.    TmpA = ""
  4990.    TmpC = ""
  4991.    result = cMatrixFill(3, ArrayA(), MATRIX_ZERO)
  4992.    result = cMatrixFill(3, ArrayC(), MATRIX_ZERO)
  4993.    For i = 1 To 3
  4994.       For j = 1 To 3
  4995.          TmpA = TmpA + Format$(ArrayA(i, j), "00000  ")
  4996.       Next j
  4997.       TmpA = TmpA + Chr$(13)
  4998.    Next i
  4999.    result = cMatrixInv(3, ArrayA(), ArrayC())
  5000.    If (result = True) Then
  5001.       For i = 1 To 3
  5002.          For j = 1 To 3
  5003.             TmpC = TmpC + Format$(ArrayC(i, j), "0.0000000  ")
  5004.          Next j
  5005.          TmpC = TmpC + Chr$(13)
  5006.       Next i
  5007.    Else
  5008.       TmpC = " 'can be inverted'"
  5009.    End If
  5010.    Tmp1 = Tmp1 & "First array (A) is " & Chr$(13) & TmpA & Chr$(13)
  5011.    Tmp1 = Tmp1 & "Inv of (A) = (C) is " & Chr$(13) & TmpC & Chr$(13) & Chr$(13)
  5012.    For i = 1 To 3
  5013.       For j = 1 To 3
  5014.          ArrayA(i, j) = Int(RandI * Rnd(1))
  5015.       Next j
  5016.    Next i
  5017.    cStartBasisTimer
  5018.    For i = 1 To ItemFile
  5019.       result = cMatrixInv(3, ArrayA(), ArrayC())
  5020.    Next i
  5021.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  5022.    Label3.Caption = Tmp1
  5023. End Sub
  5024. Private Sub TestMatrixMinCo()
  5025.    Dim Tmp1       As String
  5026.    Dim TmpA       As String
  5027.    Dim TmpC       As String
  5028.    Dim i          As Integer
  5029.    Dim j          As Integer
  5030.    Dim cofact     As Double
  5031.    Dim nSize      As Integer
  5032.    nSize = 3
  5033.    ReDim ArrayA(1 To nSize, 1 To nSize) As Double
  5034.    Randomize Timer
  5035.    For i = 1 To nSize
  5036.       For j = 1 To nSize
  5037.          ArrayA(i, j) = Int(RandI * Rnd(1))
  5038.          TmpA = TmpA + Format$(ArrayA(i, j), "00000  ")
  5039.       Next j
  5040.       TmpA = TmpA + Chr$(13)
  5041.    Next i
  5042.    Tmp1 = Tmp1 & "First array (A) is " & Chr$(13) & Chr$(13) & TmpA & Chr$(13) & Chr$(13)
  5043.    Tmp1 = Tmp1 & "CoFactor of A(1,1) = " & cMatrixCoFactor(nSize, ArrayA(), 1, 1) & Chr$(13)
  5044.    Tmp1 = Tmp1 & "CoFactor of A(2,2) = " & cMatrixCoFactor(nSize, ArrayA(), 2, 2) & Chr$(13)
  5045.    Tmp1 = Tmp1 & "CoFactor of A(3,3) = " & cMatrixCoFactor(nSize, ArrayA(), 3, 3) & Chr$(13) & Chr$(13)
  5046.    Tmp1 = Tmp1 & "Minor of A(1,1) = " & cMatrixMinor(nSize, ArrayA(), 1, 1) & Chr$(13)
  5047.    Tmp1 = Tmp1 & "Minor of A(2,2) = " & cMatrixMinor(nSize, ArrayA(), 2, 2) & Chr$(13)
  5048.    Tmp1 = Tmp1 & "Minor of A(3,3) = " & cMatrixMinor(nSize, ArrayA(), 3, 3) & Chr$(13) & Chr$(13)
  5049.    cStartBasisTimer
  5050.    For i = 1 To ItemFile
  5051.       cofact = cMatrixCoFactor(nSize, ArrayA(), 1, 1)
  5052.    Next i
  5053.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  5054.    Label3.Caption = Tmp1
  5055. End Sub
  5056. Private Sub TestMatrixMul()
  5057.    Dim Tmp1       As String
  5058.    Dim TmpA       As String
  5059.    Dim TmpB       As String
  5060.    Dim TmpC       As String
  5061.    Dim i          As Integer
  5062.    Dim j          As Integer
  5063.    ReDim ArrayA(1 To 3, 1 To 3) As Double
  5064.    ReDim ArrayB(1 To 3, 1 To 3) As Double
  5065.    ReDim ArrayC(1 To 3, 1 To 3) As Double
  5066.    Randomize Timer
  5067.    For i = 1 To 3
  5068.       For j = 1 To 3
  5069.          ArrayA(i, j) = Int(RandI * Rnd(1))
  5070.          ArrayB(i, j) = Int(RandI * Rnd(1))
  5071.          ArrayC(i, j) = 0
  5072.          TmpA = TmpA + Format$(ArrayA(i, j), "00000  ")
  5073.          TmpB = TmpB + Format$(ArrayB(i, j), "00000  ")
  5074.       Next j
  5075.       TmpA = TmpA + Chr$(13)
  5076.       TmpB = TmpB + Chr$(13)
  5077.    Next i
  5078.    Call cMatrixMul(3, ArrayA(), ArrayB(), ArrayC())
  5079.    For i = 1 To 3
  5080.       For j = 1 To 3
  5081.          TmpC = TmpC + Format$(ArrayC(i, j), "000000000000  ")
  5082.       Next j
  5083.       TmpC = TmpC + Chr$(13)
  5084.    Next i
  5085.    Tmp1 = Tmp1 & "First array (A) is " & Chr$(13) & Chr$(13) & TmpA & Chr$(13)
  5086.    Tmp1 = Tmp1 & "Second array (B) is " & Chr$(13) & Chr$(13) & TmpB & Chr$(13)
  5087.    Tmp1 = Tmp1 & "The multiply (A) . (B) = (C) is " & Chr$(13) & Chr$(13) & TmpC & Chr$(13)
  5088.    cStartBasisTimer
  5089.    For i = 1 To ItemFile
  5090.       Call cMatrixMul(3, ArrayA(), ArrayB(), ArrayC())
  5091.    Next i
  5092.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  5093.    Label3.Caption = Tmp1
  5094. End Sub
  5095. Private Sub TestMatrixSub()
  5096.    Dim Tmp1       As String
  5097.    Dim TmpA       As String
  5098.    Dim TmpB       As String
  5099.    Dim TmpC       As String
  5100.    Dim i          As Integer
  5101.    Dim j          As Integer
  5102.    ReDim ArrayA(1 To 3, 1 To 3) As Double
  5103.    ReDim ArrayB(1 To 3, 1 To 3) As Double
  5104.    ReDim ArrayC(1 To 3, 1 To 3) As Double
  5105.    Randomize Timer
  5106.    For i = 1 To 3
  5107.       For j = 1 To 3
  5108.          ArrayA(i, j) = Int(RandI * Rnd(1))
  5109.          ArrayB(i, j) = Int(RandI * Rnd(1))
  5110.          ArrayC(i, j) = 0
  5111.          TmpA = TmpA + Format$(ArrayA(i, j), "00000  ")
  5112.          TmpB = TmpB + Format$(ArrayB(i, j), "00000  ")
  5113.       Next j
  5114.       TmpA = TmpA + Chr$(13)
  5115.       TmpB = TmpB + Chr$(13)
  5116.    Next i
  5117.    Call cMatrixSub(3, ArrayA(), ArrayB(), ArrayC())
  5118.    For i = 1 To 3
  5119.       For j = 1 To 3
  5120.          TmpC = TmpC + Format$(ArrayC(i, j), "00000  ")
  5121.       Next j
  5122.       TmpC = TmpC + Chr$(13)
  5123.    Next i
  5124.    Tmp1 = Tmp1 & "First array (A) is " & Chr$(13) & Chr$(13) & TmpA & Chr$(13)
  5125.    Tmp1 = Tmp1 & "Second array (B) is " & Chr$(13) & Chr$(13) & TmpB & Chr$(13)
  5126.    Tmp1 = Tmp1 & "The substract (A) - (B) = (C) is " & Chr$(13) & Chr$(13) & TmpC & Chr$(13)
  5127.    cStartBasisTimer
  5128.    For i = 1 To ItemFile
  5129.       Call cMatrixSub(3, ArrayA(), ArrayB(), ArrayC())
  5130.    Next i
  5131.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  5132.    Label3.Caption = Tmp1
  5133. End Sub
  5134. Private Sub TestMatrixSymToeplitz()
  5135.    Dim Tmp1       As String
  5136.    Dim TmpA       As String
  5137.    Dim TmpC       As String
  5138.    Dim i          As Integer
  5139.    Dim j          As Integer
  5140.    Dim result     As Integer
  5141.    ReDim ArrayA(1 To 3, 1 To 3) As Double
  5142.    ReDim ArrayC(1 To 3, 1 To 3) As Double
  5143.    Randomize Timer
  5144.    For i = 1 To 1
  5145.       For j = 1 To 3
  5146.          ArrayA(i, j) = Int(RandI * Rnd(1))
  5147.          TmpA = TmpA + Format$(ArrayA(i, j), "00000  ")
  5148.       Next j
  5149.       TmpA = TmpA + Chr$(13)
  5150.    Next i
  5151.    result = cMatrixSymToeplitz(3, ArrayA(), ArrayC())
  5152.    For i = 1 To 3
  5153.       For j = 1 To 3
  5154.          TmpC = TmpC + Format$(ArrayC(i, j), "00000  ")
  5155.       Next j
  5156.       TmpC = TmpC + Chr$(13)
  5157.    Next i
  5158.    Tmp1 = Tmp1 & "First array (A) is " & Chr$(13) & Chr$(13) & TmpA & Chr$(13)
  5159.    Tmp1 = Tmp1 & "Symmetrical Toeplitz of (A) = (C) is " & Chr$(13) & Chr$(13) & TmpC & Chr$(13)
  5160.    cStartBasisTimer
  5161.    For i = 1 To ItemFile
  5162.       result = cMatrixSymToeplitz(3, ArrayA(), ArrayC())
  5163.    Next i
  5164.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  5165.    Label3.Caption = Tmp1
  5166. End Sub
  5167. Private Sub TestMatrixTranspose()
  5168.    Dim Tmp1       As String
  5169.    Dim TmpA       As String
  5170.    Dim TmpC       As String
  5171.    Dim i          As Integer
  5172.    Dim j          As Integer
  5173.    ReDim ArrayA(1 To 3, 1 To 3) As Double
  5174.    ReDim ArrayC(1 To 3, 1 To 3) As Double
  5175.    Randomize Timer
  5176.    For i = 1 To 3
  5177.       For j = 1 To 3
  5178.          ArrayA(i, j) = Int(RandI * Rnd(1))
  5179.          ArrayC(i, j) = 0
  5180.          TmpA = TmpA + Format$(ArrayA(i, j), "00000  ")
  5181.       Next j
  5182.       TmpA = TmpA + Chr$(13)
  5183.    Next i
  5184.    Call cMatrixTranspose(3, ArrayA(), ArrayC())
  5185.    For i = 1 To 3
  5186.       For j = 1 To 3
  5187.          TmpC = TmpC + Format$(ArrayC(i, j), "00000  ")
  5188.       Next j
  5189.       TmpC = TmpC + Chr$(13)
  5190.    Next i
  5191.    Tmp1 = Tmp1 & "First array (A) is " & Chr$(13) & Chr$(13) & TmpA & Chr$(13)
  5192.    Tmp1 = Tmp1 & "Transpose of (A) = (C) is " & Chr$(13) & Chr$(13) & TmpC & Chr$(13)
  5193.    cStartBasisTimer
  5194.    For i = 1 To ItemFile
  5195.       Call cMatrixTranspose(3, ArrayA(), ArrayC())
  5196.    Next i
  5197.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  5198.    Label3.Caption = Tmp1
  5199. End Sub
  5200. Private Sub TestMaxI()
  5201.    Dim Title      As String
  5202.    Dim Tmp        As String
  5203.    Dim Tmp1       As String
  5204.    Dim Tmp2       As String
  5205.    Dim i          As Integer
  5206.    Dim j          As Integer
  5207.    Dim m          As Double
  5208.    ReDim array(ItemMean) As Integer
  5209.    Randomize Timer
  5210.    For i = LBound(array) To UBound(array)
  5211.       array(i) = RandI * Rnd(1)
  5212.       List1.AddItem "" & array(i)
  5213.    Next i
  5214.    j = cSortI(array())
  5215.    For i = LBound(array) To UBound(array)
  5216.       List2.AddItem "" & array(i)
  5217.    Next i
  5218.    List2.ListIndex = List2.ListCount - 1
  5219.    Tmp1 = "The MAX of a integer array of " & (ItemMean + 1) & " elements is " & Chr$(13) & Chr$(13) & cMaxI(array()) & Chr$(13) & Chr$(13)
  5220.    cStartBasisTimer
  5221.    For i = 1 To ItemFile
  5222.       m = cMaxI(array())
  5223.    Next i
  5224.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  5225.    Label3.Caption = Tmp1
  5226. End Sub
  5227. Private Sub TestMD5()
  5228.    Dim Title      As String
  5229.    Dim Tmp        As String
  5230.    Dim Tmp1       As String
  5231.    Dim Tmp2       As String
  5232.    Dim Tmp3       As String
  5233.    Dim i          As Integer
  5234.    Dim j          As Long
  5235.    Tmp2 = "T2WIN-16"
  5236.    Tmp = Text1.Text
  5237.    Tmp1 = "HashMD5 for '" & Tmp2 & "' is " & cHashMD5(Tmp2) & Chr$(13) & Chr$(13)
  5238.    Tmp1 = Tmp1 & "HashMD5 for '" & Tmp & "' is " & cHashMD5(Tmp) & Chr$(13) & Chr$(13)
  5239.    Tmp1 = Tmp1 & "HashMD5 for '" & LCase$(Tmp2) & "' is " & cHashMD5(LCase$(Tmp2)) & Chr$(13) & Chr$(13)
  5240.    Tmp1 = Tmp1 & "HashMD5 for '" & LCase$(Tmp) & "' is " & cHashMD5(LCase$(Tmp)) & Chr$(13) & Chr$(13)
  5241.    Tmp1 = Tmp1 & "HashMD5 for '" & Left$(Tmp2, 3) & "' is " & cHashMD5(Left$(Tmp2, 3)) & Chr$(13) & Chr$(13)
  5242.    cStartBasisTimer
  5243.    For i = 1 To Item
  5244.       Tmp3 = cHashMD5(Tmp2)
  5245.    Next i
  5246.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  5247.    Label3.Caption = Tmp1
  5248. End Sub
  5249. Private Sub TestMDA(Management As Integer)
  5250.    Dim Tmp        As String
  5251.    Dim ErrCode    As Integer
  5252.    Dim MDA        As tagMULTIPLEDISKARRAY
  5253.    Dim TE         As tagTASKENTRY
  5254.    ErrCode = cMakeDir("c:\t2w_tmp")
  5255.    MDA.nFilename = "c:\t2w_tmp\mda.tmp"
  5256.    MDA.nType(1) = DA_LONG     'long
  5257.    MDA.nIsTyped(1) = False
  5258.    MDA.nRows(1) = 20
  5259.    MDA.nCols(1) = 20
  5260.    MDA.nSheets(1) = 2
  5261.    MDA.nType(2) = 10          'string
  5262.    MDA.nIsTyped(2) = False
  5263.    MDA.nRows(2) = 20
  5264.    MDA.nCols(2) = 20
  5265.    MDA.nSheets(2) = 2
  5266.    MDA.nType(9) = Len(TE)     'type'd
  5267.    MDA.nIsTyped(9) = True
  5268.    MDA.nRows(9) = 20
  5269.    MDA.nCols(9) = 20
  5270.    MDA.nSheets(9) = 2
  5271.    Select Case Management
  5272.       Case True      'create
  5273.          ErrCode = cMDACreate(MDA, True)
  5274.       Case False     'use
  5275.          ErrCode = cMDACreate(MDA, False)
  5276.       Case 1         'clear all
  5277.          ErrCode = cMDACreate(MDA, False)
  5278.          If (ErrCode = -1) Then ErrCode = cMDAClear(1, MDA)
  5279.          If (ErrCode = -1) Then ErrCode = cMDAClear(2, MDA)
  5280.          If (ErrCode = -1) Then ErrCode = cMDAClear(9, MDA)
  5281.       Case 2         'clear sheet 2
  5282.          ErrCode = cMDACreate(MDA, False)
  5283.          If (ErrCode = -1) Then ErrCode = cMDAClearSheet(1, MDA, 2)
  5284.          If (ErrCode = -1) Then ErrCode = cMDAClearSheet(2, MDA, 2)
  5285.          If (ErrCode = -1) Then ErrCode = cMDAClearSheet(9, MDA, 2)
  5286.       Case 3         'clear last row
  5287.          ErrCode = cMDACreate(MDA, False)
  5288.          If (ErrCode = -1) Then ErrCode = cMDAClearRow(1, MDA, MDA.nRows(1), 1)
  5289.          If (ErrCode = -1) Then ErrCode = cMDAClearRow(2, MDA, MDA.nRows(2), 1)
  5290.          If (ErrCode = -1) Then ErrCode = cMDAClearRow(9, MDA, MDA.nRows(9), 1)
  5291.       Case 4         'clear last col
  5292.          ErrCode = cMDACreate(MDA, False)
  5293.          If (ErrCode = -1) Then ErrCode = cMDAClearCol(1, MDA, MDA.nCols(1), 1)
  5294.          If (ErrCode = -1) Then ErrCode = cMDAClearCol(2, MDA, MDA.nCols(2), 1)
  5295.          If (ErrCode = -1) Then ErrCode = cMDAClearCol(9, MDA, MDA.nCols(9), 1)
  5296.       Case 5         'clear last row in all sheets
  5297.          ErrCode = cMDACreate(MDA, False)
  5298.          If (ErrCode = -1) Then ErrCode = cMDAClearRow(1, MDA, MDA.nRows(1), -1)
  5299.          If (ErrCode = -1) Then ErrCode = cMDAClearRow(2, MDA, MDA.nRows(2), -1)
  5300.          If (ErrCode = -1) Then ErrCode = cMDAClearRow(9, MDA, MDA.nRows(9), -1)
  5301.       Case 6         'clear last col in all sheets
  5302.          ErrCode = cMDACreate(MDA, False)
  5303.          If (ErrCode = -1) Then ErrCode = cMDAClearCol(1, MDA, MDA.nCols(1), -1)
  5304.          If (ErrCode = -1) Then ErrCode = cMDAClearCol(2, MDA, MDA.nCols(2), -1)
  5305.          If (ErrCode = -1) Then ErrCode = cMDAClearCol(9, MDA, MDA.nCols(9), -1)
  5306.    End Select
  5307.    Tmp = Tmp & "ErrCode = " & ErrCode & Chr$(13) & Chr$(13)
  5308.    If (ErrCode = True) Then
  5309.       
  5310.       Tmp = Tmp & "MDA.daSize          = " & MDA.daSize & Chr$(13)
  5311.       Tmp = Tmp & "MDA.Signature       = " & MDA.signature & Chr$(13)
  5312.       Tmp = Tmp & "MDA.nFilename       = " & Trim$(MDA.nFilename) & Chr$(13)
  5313.       Tmp = Tmp & "MDA.rHandle         = " & MDA.rHandle & Chr$(13)
  5314.       Tmp = Tmp & "MDA.rFileSize       = " & MDA.rFileSize & Chr$(13) & Chr$(13)
  5315.       Tmp = Tmp & "MDA.nType(1)(2)(9)        = (" & MDA.nType(1) & ") (" & MDA.nType(2) & ") (" & MDA.nType(9) & ")" & Chr$(13)
  5316.       Tmp = Tmp & "MDA.nIsTyped(1)(2)(9)     = (" & MDA.nIsTyped(1) & ") (" & MDA.nIsTyped(2) & ") (" & MDA.nIsTyped(9) & ")" & Chr$(13)
  5317.       Tmp = Tmp & "MDA.nRows(1)(2)(9)        = (" & MDA.nRows(1) & ") (" & MDA.nRows(2) & ") (" & MDA.nRows(9) & ")" & Chr$(13)
  5318.       Tmp = Tmp & "MDA.nCols(1)(2)(9)        = (" & MDA.nCols(1) & ") (" & MDA.nCols(2) & ") (" & MDA.nCols(9) & ")" & Chr$(13)
  5319.       Tmp = Tmp & "MDA.nSheets(1)(2)(9)      = (" & MDA.nSheets(1) & ") (" & MDA.nSheets(2) & ") (" & MDA.nSheets(9) & ")" & Chr$(13)
  5320.       Tmp = Tmp & "MDA.rElementSz(1)(2)(9)   = (" & MDA.rElementSz(1) & ") (" & MDA.rElementSz(2) & ") (" & MDA.rElementSz(9) & ")" & Chr$(13)
  5321.       Tmp = Tmp & "MDA.rSheetSz(1)(2)(9)     = (" & MDA.rSheetSz(1) & ") (" & MDA.rSheetSz(2) & ") (" & MDA.rSheetSz(9) & ")" & Chr$(13)
  5322.       Tmp = Tmp & "MDA.rOffsetPos(1)(2)(9)   = (" & MDA.rOffsetPos(1) & ") (" & MDA.rOffsetPos(2) & ") (" & MDA.rOffsetPos(9) & ")" & Chr$(13) & Chr$(13)
  5323.       If (Management = True) Then
  5324.          Call cMDAPut(1, MDA, 1, 1, 1, 123456789)
  5325.          Call cMDAPut(1, MDA, MDA.nRows(1), MDA.nCols(1), MDA.nSheets(1), 987654321)
  5326.       
  5327.          Call cMDAPut(2, MDA, 1, 1, 1, "S:1, ABCDEFGHIJ")
  5328.          Call cMDAPut(2, MDA, MDA.nRows(2), MDA.nCols(2), MDA.nSheets(2), "S:" & MDA.nSheets(2) & ", oprqstuvwxyz")
  5329.       
  5330.          ErrCode = cTasks(TE, True)
  5331.          Call cMDAPutType(9, MDA, 1, 1, 1, TE)
  5332.          ErrCode = cTasks(TE, False)
  5333.          Call cMDAPutType(9, MDA, MDA.nRows(9), MDA.nCols(9), MDA.nSheets(9), TE)
  5334.       
  5335.       End If
  5336.       Tmp = Tmp & "A:1  , R:1  , C:1  , S:1, Value : " & Trim$(cMDAGet(1, MDA, 1, 1, 1)) & "   , time : " & MDA.rTime & Chr$(13)
  5337.       Tmp = Tmp & "A:1  , R:" & MDA.nRows(1) & ", C:" & MDA.nCols(1) & ", S:" & MDA.nSheets(1) & ", Value : " & Trim$(cMDAGet(1, MDA, MDA.nRows(1), MDA.nCols(1), MDA.nSheets(1))) & "   , time : " & MDA.rTime & Chr$(13)
  5338.       Tmp = Tmp & "A:2  , R:1  , C:1  , S:1, Value : " & Trim$(cMDAGet(2, MDA, 1, 1, 1)) & "   , time : " & MDA.rTime & Chr$(13)
  5339.       Tmp = Tmp & "A:2  , R:" & MDA.nRows(2) & ", C:" & MDA.nCols(2) & ", S:" & MDA.nSheets(2) & ", Value : " & Trim$(cMDAGet(2, MDA, MDA.nRows(2), MDA.nCols(2), MDA.nSheets(2))) & "   , time : " & MDA.rTime & Chr$(13)
  5340.       Call cMDAGetType(9, MDA, 1, 1, 1, TE)
  5341.       Tmp = Tmp & "A:9  , R:1  , C:1  , S:1, TE.szModule : " & cCompress(TE.szModule) & "   , time : " & MDA.rTime & Chr$(13)
  5342.       Call cMDAGetType(9, MDA, MDA.nRows(9), MDA.nCols(9), MDA.nSheets(9), TE)
  5343.       Tmp = Tmp & "A:9  , R:" & MDA.nRows(9) & ", C:" & MDA.nCols(9) & ", S:" & MDA.nSheets(9) & ", TE.szModule : " & cCompress(TE.szModule) & "   , time : " & MDA.rTime & Chr$(13)
  5344.    End If
  5345.    Call cMDAClose(MDA, False)
  5346.    Label3.Caption = Tmp
  5347. End Sub
  5348. Private Sub TestMeanI()
  5349.    Dim Title      As String
  5350.    Dim Tmp        As String
  5351.    Dim Tmp1       As String
  5352.    Dim Tmp2       As String
  5353.    Dim i          As Integer
  5354.    Dim j          As Integer
  5355.    Dim m          As Double
  5356.    ReDim array(ItemMean) As Integer
  5357.    Randomize Timer
  5358.    m = 0
  5359.    For i = LBound(array) To UBound(array)
  5360.       array(i) = Int(RandI * Rnd(1))
  5361.       m = m + array(i)
  5362.       List1.AddItem "" & array(i)
  5363.    Next i
  5364.    Tmp1 = "The Mean of a integer array of " & (ItemMean + 1) & " elements is " & Chr$(13) & Chr$(13) & cMeanI(array()) & " (" & (m / (UBound(array) - LBound(array) + 1)) & ")" & Chr$(13) & Chr$(13)
  5365.    cStartBasisTimer
  5366.    For i = 1 To ItemFile
  5367.       m = cMeanI(array())
  5368.    Next i
  5369.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  5370.    Label3.Caption = Tmp1
  5371. End Sub
  5372. Private Sub TestMenuChange()
  5373.    Call cSysMenuChange(Me.hWnd, 0, "&Restaurer")
  5374.    Call cSysMenuChange(Me.hWnd, 1, "&Positionner")
  5375.    Call cSysMenuChange(Me.hWnd, 2, "&Taille")
  5376.    Call cSysMenuChange(Me.hWnd, 3, "&Ic
  5377.    Call cSysMenuChange(Me.hWnd, 4, "&Plein 
  5378. cran")
  5379.    Call cSysMenuChange(Me.hWnd, 6, "&Fermer" + Chr$(9) + "Alt+F4")
  5380.    Call cSysMenuChange(Me.hWnd, 8, "&T
  5381. che" + Chr$(9) + "Ctrl+Esc")
  5382. End Sub
  5383. Private Sub TestMin()
  5384.    Dim Title      As String
  5385.    Dim Tmp        As String
  5386.    Dim Tmp1       As String
  5387.    Dim Tmp2       As String
  5388.    Dim i          As Integer
  5389.    Dim j          As Long
  5390.    Tmp1 = "Min of [32760,1234567] is " & cMin(32760, 1234567) & Chr$(13)
  5391.    Tmp1 = Tmp1 + "Max of [32760,1234567] is " & cMax(32760, 1234567) & Chr$(13)
  5392.    cStartBasisTimer
  5393.    For i = 1 To Item
  5394.       j = cMin(32760, 1234567)
  5395.    Next i
  5396.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  5397.    Label3.Caption = Tmp1
  5398. End Sub
  5399. Private Sub TestMinI()
  5400.    Dim Title      As String
  5401.    Dim Tmp        As String
  5402.    Dim Tmp1       As String
  5403.    Dim Tmp2       As String
  5404.    Dim i          As Integer
  5405.    Dim j          As Integer
  5406.    Dim m          As Double
  5407.    ReDim array(ItemMean) As Integer
  5408.    Randomize Timer
  5409.    For i = LBound(array) To UBound(array)
  5410.       array(i) = RandI * Rnd(1)
  5411.       List1.AddItem "" & array(i)
  5412.    Next i
  5413.    j = cSortI(array())
  5414.    For i = LBound(array) To UBound(array)
  5415.       List2.AddItem "" & array(i)
  5416.    Next i
  5417.    List2.ListIndex = 0
  5418.    Tmp1 = "The MIN of a integer array of " & (ItemMean + 1) & " elements is " & Chr$(13) & Chr$(13) & cMinI(array()) & Chr$(13) & Chr$(13)
  5419.    cStartBasisTimer
  5420.    For i = 1 To ItemFile
  5421.       m = cMinI(array())
  5422.    Next i
  5423.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  5424.    Label3.Caption = Tmp1
  5425. End Sub
  5426. Private Sub TestMixChars()
  5427.    Dim Title      As String
  5428.    Dim Tmp        As String
  5429.    Dim Tmp1       As String
  5430.    Dim Tmp2       As String
  5431.    Dim i          As Integer
  5432.    Dim j          As Integer
  5433.                   
  5434.    Tmp = Text1.Text
  5435.    Tmp1 = Tmp1 + "MixChars of [" & Tmp & "] is " & cMixChars(Tmp) & Chr$(13) & Chr$(13)
  5436.    Tmp = "T2WIN-16"
  5437.    Tmp1 = Tmp1 + "MixChars of [" & Tmp & "] is " & cMixChars(Tmp) & Chr$(13) & Chr$(13)
  5438.    Tmp = "Nothing can beat the fox"
  5439.    Tmp1 = Tmp1 + "MixChars of [" & Tmp & "] is " & cMixChars(Tmp) & Chr$(13) & Chr$(13)
  5440.    Tmp = Text1.Text
  5441.    Tmp1 = Tmp1 + "MixChars of [" & Tmp & "] is " & cMixChars(Tmp) & Chr$(13) & Chr$(13)
  5442.                   
  5443.    cStartBasisTimer
  5444.    For i = 1 To Item
  5445.       Tmp2 = cMixChars(Tmp)
  5446.    Next i
  5447.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  5448.    Label3.Caption = Tmp1
  5449. End Sub
  5450. Private Sub TestMnuLanguage()
  5451.    Load frmLng
  5452.    Call cShowWindow(frmLng.hWnd, 1, 340)
  5453.    frmLng.Show
  5454. End Sub
  5455. Private Sub TestMorse()
  5456.    Dim Title      As String
  5457.    Dim Tmp        As String
  5458.    Dim Tmp1       As String
  5459.    Dim Tmp2       As String
  5460.    Dim i          As Integer
  5461.    Dim j          As Integer
  5462.                   
  5463.    Tmp = "SOS"
  5464.    Tmp1 = Tmp1 + "MixChars of [" & Tmp & "] is " & cMorse(Tmp) & Chr$(13) & Chr$(13)
  5465.    Tmp = "T2WIN-16"
  5466.    Tmp1 = Tmp1 + "MixChars of [" & Tmp & "] is " & cMorse(Tmp) & Chr$(13) & Chr$(13)
  5467.    Tmp = "Nothing can beat the fox"
  5468.    Tmp1 = Tmp1 + "MixChars of [" & Tmp & "] is " & cMorse(Tmp) & Chr$(13) & Chr$(13)
  5469.    Tmp = Text1.Text
  5470.    Tmp1 = Tmp1 + "MixChars of [" & Tmp & "] is " & cMorse(Tmp) & Chr$(13) & Chr$(13)
  5471.                   
  5472.    cStartBasisTimer
  5473.    For i = 1 To Item
  5474.       Tmp2 = cMorse(Tmp)
  5475.    Next i
  5476.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  5477.    Label3.Caption = Tmp1
  5478. End Sub
  5479. Private Sub TestMsgBox()
  5480.    Dim i       As Integer
  5481.    Dim N       As Integer
  5482.    Dim Tmp     As String
  5483.    Tmp = "'T2WIN-16'" & Chr$(13) & Chr$(13)
  5484.    Tmp = Tmp & " is a powerfull data link library for using with Visual Basic 3.0 for Windows." & Chr$(13) & Chr$(13)
  5485.    Tmp = Tmp & "It looks very better than the standard message box." & Chr$(13) & Chr$(13)
  5486.    Tmp = Tmp & "All push buttons are displayed in French." & Chr$(13) & Chr$(13)
  5487.    Tmp = Tmp & "The system menu is also in French." & Chr$(13) & Chr$(13)
  5488.    Tmp = Tmp & "A TimeOut of 10 seconds has been activated and displayed."
  5489.    For i = 0 To 5
  5490.       Call cLngBoxMsg(LNG_FRENCH, Tmp, i + (16 * i) + 512 + MB_MESSAGE_CENTER + MB_TIMEOUT_10 + MB_DISPLAY_TIMEOUT, "Message Box in French with TimeOut")
  5491.    Next i
  5492. End Sub
  5493. Private Sub TestOneCharFromLeft()
  5494.    Dim Title      As String
  5495.    Dim Tmp        As String
  5496.    Dim Tmp1       As String
  5497.    Dim Tmp2       As String
  5498.    Dim i          As Integer
  5499.    Dim j          As Integer
  5500.    Tmp = Text1.Text
  5501.    Title = "The 3,7,1 chars from left of [" & Tmp & "] are " & Chr$(13) & Chr$(13)
  5502.    Tmp = Text1.Text
  5503.    Tmp1 = Title & "3:" & cOneCharFromLeft(Tmp, 3) & " | 7:" & cOneCharFromLeft(Tmp, 7) & " | 1:" & cOneCharFromLeft(Tmp, 1) & Chr$(13) & Chr$(13)
  5504.    cStartBasisTimer
  5505.    For i = 1 To Item
  5506.       Tmp2 = cOneCharFromLeft(Tmp, 2)
  5507.    Next i
  5508.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  5509.    Label3.Caption = Tmp1
  5510. End Sub
  5511. Private Sub TestOneCharFromRight()
  5512.    Dim Title      As String
  5513.    Dim Tmp        As String
  5514.    Dim Tmp1       As String
  5515.    Dim Tmp2       As String
  5516.    Dim i          As Integer
  5517.    Dim j          As Integer
  5518.    Tmp = Text1.Text
  5519.    Title = "The 3,7,1 chars from right of [" & Tmp & "] are " & Chr$(13) & Chr$(13)
  5520.    Tmp = Text1.Text
  5521.    Tmp1 = Title & "3:" & cOneCharFromRight(Tmp, 3) & " | 7:" & cOneCharFromRight(Tmp, 7) & " | 1:" & cOneCharFromRight(Tmp, 1) & Chr$(13) & Chr$(13)
  5522.    cStartBasisTimer
  5523.    For i = 1 To Item
  5524.       Tmp2 = cOneCharFromRight(Tmp, 2)
  5525.    Next i
  5526.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  5527.    Label3.Caption = Tmp1
  5528. End Sub
  5529. Private Sub TestOrToken()
  5530.    Dim Title      As String
  5531.    Dim Tmp        As String
  5532.    Dim Tmp1       As String
  5533.    Dim Tmp2       As String
  5534.    Dim i          As Integer
  5535.    Dim j          As Integer
  5536.    Tmp = "FOX|OVER|THE"
  5537.    Tmp2 = "THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG"
  5538.    Tmp1 = "One of token '" & Tmp & "' in '" & Tmp2 & "' is " & IIf(cOrToken(Tmp2, Tmp), "present", "not present") & Chr$(13) & Chr$(13)
  5539.    Tmp = "quick|jumps|the"
  5540.    Tmp2 = "THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG"
  5541.    Tmp1 = Tmp1 & "One of token '" & Tmp & "' in '" & Tmp2 & "' is " & IIf(cOrToken(Tmp2, Tmp), "present", "not present") & Chr$(13) & Chr$(13)
  5542.    Tmp = "FOX\OVER\THE"
  5543.    Tmp2 = "THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG"
  5544.    Tmp1 = Tmp1 & "One of token '" & Tmp & "' in '" & Tmp2 & "' is " & IIf(cOrTokenIn(Tmp2, Tmp, "\"), "present", "not present") & Chr$(13) & Chr$(13)
  5545.    Tmp = "quick\jumps\the"
  5546.    Tmp2 = "THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG"
  5547.    Tmp1 = Tmp1 & "One of token '" & Tmp & "' in '" & Tmp2 & "' is " & IIf(cOrTokenIn(Tmp2, Tmp, "\"), "present", "not present") & Chr$(13) & Chr$(13)
  5548.    Tmp = "FOX/OVER/THE"
  5549.    Tmp2 = "THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG"
  5550.    Tmp1 = Tmp1 & "One of token '" & Tmp & "' in '" & Tmp2 & "' is " & IIf(cOrTokenIn(Tmp2, Tmp, "\"), "present", "not present") & Chr$(13) & Chr$(13)
  5551.    Tmp = "quick\JUMPS\the"
  5552.    Tmp2 = "THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG"
  5553.    Tmp1 = Tmp1 & "One of token '" & Tmp & "' in '" & Tmp2 & "' is " & IIf(cOrTokenIn(Tmp2, Tmp, "\"), "present", "not present") & Chr$(13) & Chr$(13)
  5554.    Tmp = LCase$("quick\jumps\THE")
  5555.    Tmp2 = LCase$("THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG")
  5556.    Tmp1 = Tmp1 & "One of token '" & Tmp & "' in '" & Tmp2 & "' is " & IIf(cOrTokenIn(Tmp2, Tmp, "\"), "present", "not present") & Chr$(13) & Chr$(13)
  5557.    cStartBasisTimer
  5558.    For i = 1 To Item
  5559.       j = cOrToken(Tmp2, Tmp)
  5560.    Next i
  5561.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  5562.    Label3.Caption = Tmp1
  5563. End Sub
  5564. Private Sub TestPatternExtMatch()
  5565.    Dim Title      As String
  5566.    Dim Tmp        As String
  5567.    Dim Tmp1       As String
  5568.    Dim Tmp2       As String
  5569.    Dim Tmp3       As String
  5570.    Dim i          As Integer
  5571.    Dim j          As Integer
  5572.    Tmp2 = "Under the blue sky, the sun lights"
  5573.    Tmp1 = "PatternExtMatch '" & Tmp2 & "' with" & Chr$(13) & Chr$(13)
  5574.    Tmp3 = "*"
  5575.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternExtMatch(Tmp2, Tmp3) & Chr$(13)
  5576.    Tmp3 = "*??*???*?"
  5577.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternExtMatch(Tmp2, Tmp3) & Chr$(13)
  5578.    Tmp3 = "*Under*"
  5579.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternExtMatch(Tmp2, Tmp3) & Chr$(13)
  5580.    Tmp3 = "*sky*"
  5581.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternExtMatch(Tmp2, Tmp3) & Chr$(13)
  5582.    Tmp3 = "*lights"
  5583.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternExtMatch(Tmp2, Tmp3) & Chr$(13)
  5584.    Tmp3 = "??der*sky*ligh??*"
  5585.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternExtMatch(Tmp2, Tmp3) & Chr$(13)
  5586.    Tmp3 = "Under?the * s??,*"
  5587.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternExtMatch(Tmp2, Tmp3) & Chr$(13)
  5588.    Tmp3 = "[U-U][a-z][a-z][a-z][a-z]?the *"
  5589.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternExtMatch(Tmp2, Tmp3) & Chr$(13)
  5590.    Tmp3 = "[U-U][!A-Z][^A-Z][^A-Z][!A-Z]?the *[s-s]"
  5591.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternExtMatch(Tmp2, Tmp3) & Chr$(13)
  5592.    Tmp3 = "~55~6E*~73"
  5593.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternExtMatch(Tmp2, Tmp3) & Chr$(13)
  5594.    Tmp3 = "[Uu][Nn][dD][eE][opqrst]?the *[rstu]"
  5595.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternExtMatch(Tmp2, Tmp3) & Chr$(13)
  5596.    Tmp3 = "Under?the *[~72~73~74~75]"
  5597.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternExtMatch(Tmp2, Tmp3) & Chr$(13) & Chr$(13)
  5598.    Tmp3 = "*under*"
  5599.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternExtMatch(Tmp2, Tmp3) & Chr$(13)
  5600.    Tmp3 = "Under*sun"
  5601.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternExtMatch(Tmp2, Tmp3) & Chr$(13)
  5602.    Tmp3 = "Under t??e*"
  5603.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternExtMatch(Tmp2, Tmp3) & Chr$(13)
  5604.    Tmp3 = "[U-U][!a-z][^A-Z][^A-Z][!A-Z]?the *[!s-s]"
  5605.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternExtMatch(Tmp2, Tmp3) & Chr$(13)
  5606.    Tmp3 = "~55~6G*~73"
  5607.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternExtMatch(Tmp2, Tmp3) & Chr$(13)
  5608.    Tmp3 = "[Uu][Nn][dD][eE][opqrst]?the *[rStu]"
  5609.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternExtMatch(Tmp2, Tmp3) & Chr$(13)
  5610.    Tmp3 = "Under?the *[~72~53~74~75]"
  5611.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternExtMatch(Tmp2, Tmp3) & Chr$(13) & Chr$(13)
  5612.    Tmp3 = "Under?the * s??,*"
  5613.    cStartBasisTimer
  5614.    For i = 1 To Item
  5615.       j = cPatternExtMatch(Tmp2, Tmp3)
  5616.    Next i
  5617.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  5618.    Label3.Caption = Tmp1
  5619. End Sub
  5620. Private Sub TestPatternMatch()
  5621.    Dim Title      As String
  5622.    Dim Tmp        As String
  5623.    Dim Tmp1       As String
  5624.    Dim Tmp2       As String
  5625.    Dim Tmp3       As String
  5626.    Dim i          As Integer
  5627.    Dim j          As Integer
  5628.    Tmp2 = "Under the blue sky, the sun lights"
  5629.    Tmp1 = "PatternMatch '" & Tmp2 & "' with" & Chr$(13) & Chr$(13)
  5630.    Tmp3 = "*"
  5631.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternMatch(Tmp2, Tmp3) & Chr$(13)
  5632.    Tmp3 = "*??*???*?"
  5633.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternMatch(Tmp2, Tmp3) & Chr$(13)
  5634.    Tmp3 = "*Under*"
  5635.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternMatch(Tmp2, Tmp3) & Chr$(13)
  5636.    Tmp3 = "*sky*"
  5637.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternMatch(Tmp2, Tmp3) & Chr$(13)
  5638.    Tmp3 = "*lights"
  5639.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternMatch(Tmp2, Tmp3) & Chr$(13)
  5640.    Tmp3 = "??der*sky*ligh??*"
  5641.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternMatch(Tmp2, Tmp3) & Chr$(13)
  5642.    Tmp3 = "Under?the * s??,*"
  5643.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternMatch(Tmp2, Tmp3) & Chr$(13) & Chr$(13)
  5644.    Tmp3 = "*under*"
  5645.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternMatch(Tmp2, Tmp3) & Chr$(13)
  5646.    Tmp3 = "Under*sun"
  5647.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternMatch(Tmp2, Tmp3) & Chr$(13)
  5648.    Tmp3 = "Under t??e*"
  5649.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternMatch(Tmp2, Tmp3) & Chr$(13) & Chr$(13)
  5650.    Tmp3 = "Under?the * s??,*"
  5651.    cStartBasisTimer
  5652.    For i = 1 To Item
  5653.       j = cPatternMatch(Tmp2, Tmp3)
  5654.    Next i
  5655.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  5656.    Label3.Caption = Tmp1
  5657. End Sub
  5658. Private Sub TestProperName()
  5659.    Dim Title      As String
  5660.    Dim Tmp        As String
  5661.    Dim Tmp1       As String
  5662.    Dim Tmp2       As String
  5663.    Dim i          As Integer
  5664.    Dim j          As Integer
  5665.    Tmp = Text1.Text
  5666.    Tmp1 = Tmp1 + "ProperName of [" & Tmp & "] is " & cProperName(Tmp) & Chr$(13) & Chr$(13)
  5667.    Tmp = "John fitz,jr"
  5668.    Tmp1 = Tmp1 + "ProperName of [" & Tmp & "] is " & cProperName(Tmp) & Chr$(13) & Chr$(13)
  5669.    Tmp = "john Fitz, jr"
  5670.    Tmp1 = Tmp1 + "ProperName of [" & Tmp & "] is " & cProperName(Tmp) & Chr$(13) & Chr$(13)
  5671.    Tmp = "macdonald"
  5672.    Tmp1 = Tmp1 + "ProperName of [" & Tmp & "] is " & cProperName(Tmp) & Chr$(13) & Chr$(13)
  5673.    Tmp = "mac donald"
  5674.    Tmp1 = Tmp1 + "ProperName of [" & Tmp & "] is " & cProperName(Tmp) & Chr$(13) & Chr$(13)
  5675.                   
  5676.    cStartBasisTimer
  5677.    For i = 1 To Item
  5678.       Tmp2 = cProperName(Tmp)
  5679.    Next i
  5680.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  5681.    Label3.Caption = Tmp1
  5682. End Sub
  5683. Private Sub TestProperName2()
  5684.    Dim Title      As String
  5685.    Dim Tmp        As String
  5686.    Dim Tmp1       As String
  5687.    Dim Tmp2       As String
  5688.    Dim i          As Integer
  5689.    Dim j          As Integer
  5690.    Tmp = Text1.Text
  5691.    Tmp1 = Tmp1 + "ProperName2 of '" & Tmp & "' is '" & cProperName2(Tmp, "", 0) & "'" & Chr$(13) & Chr$(13)
  5692.    Tmp = "JOHN FITZ,JR"
  5693.    Tmp1 = Tmp1 + "ProperName2 of '" & Tmp & "' is '" & cProperName2(Tmp, "", PN_UPPERCASE Or PN_PUNCTUATION) & "'" & Chr$(13) & Chr$(13)
  5694.    Tmp = "john Fitz,jr"
  5695.    Tmp1 = Tmp1 + "ProperName2 of '" & Tmp & "' is '" & cProperName2(Tmp, "", PN_PUNCTUATION) & "'" & Chr$(13) & Chr$(13)
  5696.    Tmp = "macdonald"
  5697.    Tmp1 = Tmp1 + "ProperName2 of '" & Tmp & "' is '" & cProperName2(Tmp, "", 0) & "'" & Chr$(13) & Chr$(13)
  5698.    Tmp = "mac donald"
  5699.    Tmp1 = Tmp1 + "ProperName2 of '" & Tmp & "' is '" & cProperName2(Tmp, "", 0) & "'" & Chr$(13) & Chr$(13)
  5700.    Tmp = "a.l. greene jr."
  5701.    Tmp1 = Tmp1 + "ProperName2 of '" & Tmp & "' is '" & cProperName2(Tmp, "", PN_PUNCTUATION) & "'" & Chr$(13) & Chr$(13)
  5702.    Tmp = "shale and sandstone and till"
  5703.    Tmp1 = Tmp1 + "ProperName2 of '" & Tmp & "' is '" & cProperName2(Tmp, "the/of/a/an/and", PN_PUNCTUATION) & "'" & Chr$(13) & Chr$(13)
  5704.    Tmp = "a sandstone or a shale"
  5705.    Tmp1 = Tmp1 + "ProperName2 of '" & Tmp & "' is '" & cProperName2(Tmp, "the/or/of/a/an/and", PN_PUNCTUATION) & "'" & Chr$(13) & Chr$(13)
  5706.    Tmp = "RR2 BARRHEAD"
  5707.    Tmp1 = Tmp1 + "ProperName2 of '" & Tmp & "' is '" & cProperName2(Tmp, "rr2", PN_UPPERCASE Or PN_PUNCTUATION Or PN_KEEP_ORIGINAL) & "'" & Chr$(13) & Chr$(13)
  5708.    Tmp = "ANDY MACDONALD"
  5709.    Tmp1 = Tmp1 + "ProperName2 of '" & Tmp & "' is '" & cProperName2(Tmp, "mac", PN_UPPERCASE Or PN_PUNCTUATION Or PN_KEEP_ORIGINAL Or PN_ONLY_LEADER_SPACE) & "'" & Chr$(13) & Chr$(13)
  5710.                   
  5711.    cStartBasisTimer
  5712.    For i = 1 To Item
  5713.       Tmp2 = cProperName2(Tmp, "", 0)
  5714.    Next i
  5715.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  5716.    Label3.Caption = Tmp1
  5717. End Sub
  5718. Private Sub TestRcsCountFileDir()
  5719.    Dim Title      As String
  5720.    Dim Tmp        As String
  5721.    Dim Tmp1       As String
  5722.    Dim Tmp2       As String
  5723.    Dim i          As Integer
  5724.    Dim j          As Integer
  5725.    Dim k          As Integer
  5726.    Tmp1 = ""
  5727.    Tmp1 = Tmp1 & "Total directories in C: is " & cRcsCountFileDir(False, "C:", "", True) & Chr$(13)
  5728.    Tmp1 = Tmp1 & "Total directories in D: is " & cRcsCountFileDir(False, "D:", "", True) & Chr$(13)
  5729.    Tmp1 = Tmp1 & Chr$(13)
  5730.    Tmp1 = Tmp1 & "Total files in C: is " & cRcsCountFileDir(True, "C:", "", True) & Chr$(13)
  5731.    Tmp1 = Tmp1 & "Total files in D: is " & cRcsCountFileDir(True, "D:", "", True) & Chr$(13)
  5732.    Tmp1 = Tmp1 & Chr$(13)
  5733.    Tmp1 = Tmp1 & "Total files in C:*.DAT is " & cRcsCountFileDir(True, "C:", "*.DAT", True) & Chr$(13)
  5734.    Tmp1 = Tmp1 & "Total files in D:*.DAT is " & cRcsCountFileDir(True, "D:", "*.DAT", True) & Chr$(13)
  5735.    Tmp1 = Tmp1 & Chr$(13)
  5736.    Tmp1 = Tmp1 & "Total directories in C:\ is " & cRcsCountFileDir(False, "C:", "", False) & Chr$(13)
  5737.    Tmp1 = Tmp1 & "Total directories in D:\ is " & cRcsCountFileDir(False, "D:", "", False) & Chr$(13)
  5738.    Tmp1 = Tmp1 & Chr$(13)
  5739.    Tmp1 = Tmp1 & "Total files in C:\ is " & cRcsCountFileDir(True, "C:", "", False) & Chr$(13)
  5740.    Tmp1 = Tmp1 & "Total files in D:\ is " & cRcsCountFileDir(True, "D:", "", False) & Chr$(13)
  5741.    Tmp1 = Tmp1 & Chr$(13)
  5742.    Tmp1 = Tmp1 & "Total files in C:\*.DAT is " & cRcsCountFileDir(True, "C:", "*.DAT", False) & Chr$(13)
  5743.    Tmp1 = Tmp1 & "Total files in D:\*.DAT is " & cRcsCountFileDir(True, "D:", "*.DAT", False) & Chr$(13)
  5744.    Tmp1 = Tmp1 & Chr$(13)
  5745.    cStartBasisTimer
  5746.    For i = 1 To 10
  5747.       k = cRcsCountFileDir(False, "C:", "", False)
  5748.    Next i
  5749.    Tmp1 = Tmp1 & "speed for " & 10 & " = " & cReadBasisTimer() & " ms"
  5750.    Label3.Caption = Tmp1
  5751. End Sub
  5752. Private Sub TestRcsFilesSize()
  5753.    Dim Title      As String
  5754.    Dim Tmp        As String
  5755.    Dim Tmp1       As String
  5756.    Dim Tmp2       As String
  5757.    Dim i          As Integer
  5758.    Dim j          As Integer
  5759.    Dim k          As Long
  5760.    Dim Size1      As Long
  5761.    Dim Size2      As Long
  5762.    Tmp1 = ""
  5763.    Tmp1 = Tmp1 & "Size of files c:\*.* is " & cRcsFilesSize("c:\", "*.*", False) & Chr$(13)
  5764.    Tmp1 = Tmp1 & "Size of files c:\*.exe is " & cRcsFilesSize("c:\", "*.exe", False) & Chr$(13)
  5765.    Tmp1 = Tmp1 & "Size of files c:\*.com is " & cRcsFilesSize("c:\", "*.com", False) & Chr$(13)
  5766.    Tmp1 = Tmp1 & Chr$(13)
  5767.    Tmp1 = Tmp1 & "Size of files c:\*.* on disk is " & cRcsFilesSizeOnDisk("c:\", "*.*", False) & Chr$(13)
  5768.    Tmp1 = Tmp1 & "Size of files c:\*.exe on disk is " & cRcsFilesSizeOnDisk("c:\", "*.exe", False) & Chr$(13)
  5769.    Tmp1 = Tmp1 & "Size of files c:\*.com on disk is " & cRcsFilesSizeOnDisk("c:\", "*.com", False) & Chr$(13)
  5770.    Tmp1 = Tmp1 & Chr$(13)
  5771.    Tmp1 = Tmp1 & "Slack of files c:\*.* on disk is " & cRcsFilesSlack("c:\", "*.*", False, Size1, Size2) & " %" & Chr$(13)
  5772.    Tmp1 = Tmp1 & "Slack of files c:\*.exe on disk is " & cRcsFilesSlack("c:\", "*.exe", False, Size1, Size2) & " %" & Chr$(13)
  5773.    Tmp1 = Tmp1 & "Slack of files c:\*.com on disk is " & cRcsFilesSlack("c:\", "*.com", False, Size1, Size2) & " %" & Chr$(13)
  5774.    Tmp1 = Tmp1 & Chr$(13)
  5775.    Tmp1 = Tmp1 & "Size of files starting with c:\*.* is " & cRcsFilesSize("c:\", "*.*", True) & Chr$(13)
  5776.    Tmp1 = Tmp1 & "Size of files starting with c:\*.exe is " & cRcsFilesSize("c:\", "*.exe", True) & Chr$(13)
  5777.    Tmp1 = Tmp1 & "Size of files starting with c:\*.com is " & cRcsFilesSize("c:\", "*.com", True) & Chr$(13)
  5778.    Tmp1 = Tmp1 & Chr$(13)
  5779.    Tmp1 = Tmp1 & "Size of files starting with c:\*.* on disk is " & cRcsFilesSizeOnDisk("c:\", "*.*", True) & Chr$(13)
  5780.    Tmp1 = Tmp1 & "Size of files starting with c:\*.exe on disk is " & cRcsFilesSizeOnDisk("c:\", "*.exe", True) & Chr$(13)
  5781.    Tmp1 = Tmp1 & "Size of files starting with c:\*.com on disk is " & cRcsFilesSizeOnDisk("c:\", "*.com", True) & Chr$(13)
  5782.    Tmp1 = Tmp1 & Chr$(13)
  5783.    Tmp1 = Tmp1 & "Slack of files starting with c:\*.* on disk is " & cRcsFilesSlack("c:\", "*.*", True, Size1, Size2) & " %" & Chr$(13)
  5784.    Tmp1 = Tmp1 & "Slack of files starting with c:\*.exe on disk is " & cRcsFilesSlack("c:\", "*.exe", True, Size1, Size2) & " %" & Chr$(13)
  5785.    Tmp1 = Tmp1 & "Slack of files starting with c:\*.com on disk is " & cRcsFilesSlack("c:\", "*.com", True, Size1, Size2) & " %" & Chr$(13)
  5786.    Tmp1 = Tmp1 & Chr$(13)
  5787.    cStartBasisTimer
  5788.    For i = 1 To 10
  5789.       k = cRcsFilesSize("c:\", "*.*", False)
  5790.    Next i
  5791.    Tmp1 = Tmp1 & "speed for " & 10 & " = " & cReadBasisTimer() & " ms"
  5792.    Label3.Caption = Tmp1
  5793. End Sub
  5794. Private Sub TestReadLanguage()
  5795.    Load frmLng
  5796.    Call cShowWindow(frmLng.hWnd, 1, 340)
  5797.    frmLng.Show
  5798. End Sub
  5799. Private Sub TestRegistrationKey()
  5800.    Dim Title      As String
  5801.    Dim Tmp        As String
  5802.    Dim Tmp1       As String
  5803.    Dim Tmp2       As String
  5804.    Dim Tmp3       As String
  5805.    Dim i          As Integer
  5806.    Dim j          As Long
  5807.    Tmp2 = "T2WIN-16"
  5808.    Tmp3 = "12345"
  5809.    Tmp = Text1.Text
  5810.    Tmp1 = "Registration key for '" & Tmp2 & "' with '" & Tmp3 & "' is " & cRegistrationKey(Tmp2, Val(Tmp3)) & Chr$(13) & Chr$(13)
  5811.    Tmp1 = Tmp1 & "Registration key for '" & cBlockCharFromLeft(Tmp2, 1) & "n" & "' with '" & Tmp3 & "' is " & cRegistrationKey(cBlockCharFromLeft(Tmp2, 1) + "n", Val(Tmp3)) & Chr$(13) & Chr$(13)
  5812.    Tmp1 = Tmp1 & "Registration key for '" & Tmp & "' with '" & Tmp3 & "' is " & cRegistrationKey(Tmp, Val(Tmp3)) & Chr$(13) & Chr$(13)
  5813.    Tmp1 = Tmp1 & "Registration key for '" & LCase$(Tmp2) & "' with '" & Tmp3 & "' is " & cRegistrationKey(LCase$(Tmp2), Val(Tmp3)) & Chr$(13) & Chr$(13)
  5814.    Tmp1 = Tmp1 & "Registration key for '" & LCase$(Tmp) & "' with '" & Tmp3 & "' is " & cRegistrationKey(LCase$(Tmp), Val(Tmp3)) & Chr$(13) & Chr$(13)
  5815.    Tmp1 = Tmp1 & "Registration key for '" & Left$(Tmp2, 3) & "' with '" & Tmp3 & "' is " & cRegistrationKey(Left$(Tmp2, 3), Val(Tmp3)) & Chr$(13) & Chr$(13)
  5816.    cStartBasisTimer
  5817.    For i = 1 To Item
  5818.       j = cRegistrationKey(Tmp2, Val(Tmp3))
  5819.    Next i
  5820.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  5821.    Label3.Caption = Tmp1
  5822. End Sub
  5823. Private Sub TestRemoveBlockChar()
  5824.    Dim Title      As String
  5825.    Dim Tmp        As String
  5826.    Dim Tmp1       As String
  5827.    Dim Tmp2       As String
  5828.    Dim i          As Integer
  5829.    Dim j          As Integer
  5830.    Tmp = Text1.Text
  5831.    Title = "Removing 3 chars from the 7 of [" & Tmp & "] is "
  5832.    Tmp = cRemoveBlockChar(Tmp, 7, 3)
  5833.    Tmp1 = Title & Tmp & Chr$(13) & Chr$(13)
  5834.    cStartBasisTimer
  5835.    For i = 1 To Item
  5836.       Tmp = cRemoveBlockChar(Tmp, 1, 2)
  5837.    Next i
  5838.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  5839.    Label3.Caption = Tmp1
  5840. End Sub
  5841. Private Sub TestRemoveOneChar()
  5842.    Dim Title      As String
  5843.    Dim Tmp        As String
  5844.    Dim Tmp1       As String
  5845.    Dim Tmp2       As String
  5846.    Dim i          As Integer
  5847.    Dim j          As Integer
  5848.    Tmp = Text1.Text
  5849.    Title = "Removing the 7 char of [" & Tmp & "] is "
  5850.    Tmp = cRemoveOneChar(Tmp, 7)
  5851.    Tmp1 = Title & Tmp & Chr$(13) & Chr$(13)
  5852.    cStartBasisTimer
  5853.    For i = 1 To Item
  5854.       Tmp = cRemoveOneChar(Tmp, 1)
  5855.    Next i
  5856.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  5857.    Label3.Caption = Tmp1
  5858. End Sub
  5859. Private Sub TestRenameFile()
  5860.    Dim Title      As String
  5861.    Dim Tmp        As String
  5862.    Dim Tmp1       As String
  5863.    Dim Tmp2       As String
  5864.    Dim i          As Integer
  5865.    Dim j          As Integer
  5866.    j = cKillFile("XY~YX~XY.~~~")
  5867.    j = cKillFile("XY-YX-XY.---")
  5868.    Close #1
  5869.    Open "XY~YX~XY.~~~" For Output As #1
  5870.    Print #1, "this is a test";
  5871.    Close #1
  5872.    Tmp1 = "File XY~YX~XY.~~~ " & IIf(cRenameFile("XY~YX~XY.~~~", "XY-YX-XY.---") = True, "renamed in XY-YX-XY.---", "is not renamed") & Chr$(13) & Chr$(13)
  5873.    cStartBasisTimer
  5874.    For i = 1 To ItemFile
  5875.       j = cRenameFile("XY~YX~XY.~~~", "XY-YX-XY.---")
  5876.    Next i
  5877.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  5878.    Label3.Caption = Tmp1
  5879. End Sub
  5880. Private Sub TestResizeString()
  5881.    Dim Title      As String
  5882.    Dim Tmp        As String
  5883.    Dim Tmp1       As String
  5884.    Dim Tmp2       As String
  5885.    Dim i          As Integer
  5886.    Dim j          As Integer
  5887.    Tmp = Text1.Text
  5888.    Tmp1 = Tmp & " is resized from " & Len(Tmp) & " to 5 chars " & cResizeString(Tmp, 5) & Chr$(13) & Chr$(13)
  5889.    cStartBasisTimer
  5890.    For i = 1 To Item
  5891.       Tmp2 = cResizeString(Tmp, 3)
  5892.    Next i
  5893.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  5894.    Label3.Caption = Tmp1
  5895. End Sub
  5896. Private Sub TestResizeStringAndFill()
  5897.    Dim Title      As String
  5898.    Dim Tmp        As String
  5899.    Dim Tmp1       As String
  5900.    Dim Tmp2       As String
  5901.    Dim i          As Integer
  5902.    Dim j          As Integer
  5903.    Tmp = Text1.Text
  5904.    Tmp1 = Tmp & " is resized from " & Len(Tmp) & " to 35 chars and lengthened with @ is " & Chr$(13) & Chr$(13) & cResizeStringAndFill(Tmp, 35, "@") & Chr$(13) & Chr$(13)
  5905.    cStartBasisTimer
  5906.    For i = 1 To Item
  5907.       Tmp2 = cResizeStringAndFill(Tmp, 35, "@")
  5908.    Next i
  5909.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  5910.    Label3.Caption = Tmp1
  5911. End Sub
  5912. Private Sub TestReverse()
  5913.    Dim Title      As String
  5914.    Dim Tmp        As String
  5915.    Dim Tmp1       As String
  5916.    Dim Tmp2       As String
  5917.    Dim i          As Integer
  5918.    Dim j          As Integer
  5919.    Tmp = Text1.Text
  5920.    Title = "Reverse of [" & Tmp & "] is "
  5921.    Tmp1 = Title & cReverse(Tmp) & Chr$(13) & Chr$(13)
  5922.    cStartBasisTimer
  5923.    For i = 1 To Item
  5924.       Tmp2 = cReverse(Tmp)
  5925.    Next i
  5926.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  5927.    Label3.Caption = Tmp1
  5928. End Sub
  5929. Private Sub TestReverseAllBits()
  5930.    Dim Title      As String
  5931.    Dim Tmp        As String
  5932.    Dim Tmp1       As String
  5933.    Dim Tmp2       As String
  5934.    Dim i          As Integer
  5935.    Dim j          As Integer
  5936.    Tmp = Text1.Text
  5937.    Title = "Reverse all bits of [" & Tmp & "] is "
  5938.    Call cReverseAllBits(Tmp)
  5939.    Tmp1 = Title & Tmp & Chr$(13) & Chr$(13)
  5940.    Title = "Reverse all bits of [" & Tmp & "] is "
  5941.    Call cReverseAllBits(Tmp)
  5942.    Tmp1 = Tmp1 & Title & Tmp & Chr$(13) & Chr$(13)
  5943.    cStartBasisTimer
  5944.    For i = 1 To Item
  5945.       Call cReverseAllBits(Tmp)
  5946.    Next i
  5947.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  5948.    Label3.Caption = Tmp1
  5949. End Sub
  5950. Private Sub TestReverseAllBitsByChar()
  5951.    Dim Title      As String
  5952.    Dim Tmp        As String
  5953.    Dim Tmp1       As String
  5954.    Dim Tmp2       As String
  5955.    Dim i          As Integer
  5956.    Dim j          As Integer
  5957.    Tmp = Text1.Text
  5958.    Title = "Reverse all bits by char of [" & Tmp & "] is "
  5959.    Call cReverseAllBitsByChar(Tmp)
  5960.    Tmp1 = Title & Tmp & Chr$(13) & Chr$(13)
  5961.    Title = "Reverse all bits by char of [" & Tmp & "] is "
  5962.    Call cReverseAllBitsByChar(Tmp)
  5963.    Tmp1 = Tmp1 & Title & Tmp & Chr$(13) & Chr$(13)
  5964.    cStartBasisTimer
  5965.    For i = 1 To Item
  5966.       Call cReverseAllBitsByChar(Tmp)
  5967.    Next i
  5968.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  5969.    Label3.Caption = Tmp1
  5970. End Sub
  5971. Private Sub TestReverseSortI()
  5972.    Dim Title      As String
  5973.    Dim Tmp        As String
  5974.    Dim Tmp1       As String
  5975.    Dim Tmp2       As String
  5976.    Dim i          As Integer
  5977.    Dim j          As Integer
  5978.    Dim m          As Integer
  5979.    ReDim array(ItemMean) As Integer
  5980.    Randomize Timer
  5981.    For i = LBound(array) To UBound(array)
  5982.       array(i) = RandI * Rnd(1)
  5983.       List1.AddItem "" & array(i)
  5984.    Next i
  5985.    j = cReverseSortI(array())
  5986.    For i = LBound(array) To UBound(array)
  5987.       List2.AddItem "" & array(i)
  5988.    Next i
  5989.    cStartBasisTimer
  5990.    For i = 1 To ItemFile
  5991.       j = cReverseSortI(array())
  5992.    Next i
  5993.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  5994.    Label3.Caption = Tmp1
  5995. End Sub
  5996. Private Sub TestRndX()
  5997.    Dim Title      As String
  5998.    Dim Tmp        As String
  5999.    Dim Tmp1       As String
  6000.    Dim Tmp2       As String
  6001.    Dim i          As Integer
  6002.    Dim j          As Integer
  6003.    Call cRndInit(-1)
  6004.    Tmp1 = "Some random Integer number" & Chr$(13) & Chr$(13)
  6005.    For i = 1 To 2
  6006.       Tmp1 = Tmp1 & cRndI() & Chr$(13)
  6007.    Next i
  6008.    Tmp1 = Tmp1 & Chr$(13)
  6009.    Tmp1 = Tmp1 & "Some random Long number" & Chr$(13) & Chr$(13)
  6010.    For i = 1 To 2
  6011.       Tmp1 = Tmp1 & cRndL() & Chr$(13)
  6012.    Next i
  6013.    Tmp1 = Tmp1 & Chr$(13)
  6014.    Tmp1 = Tmp1 & "Some random Single number" & Chr$(13) & Chr$(13)
  6015.    For i = 1 To 2
  6016.       Tmp1 = Tmp1 & cRndS() & Chr$(13)
  6017.    Next i
  6018.    Tmp1 = Tmp1 & Chr$(13)
  6019.    Tmp1 = Tmp1 & "Some random Double number" & Chr$(13) & Chr$(13)
  6020.    For i = 1 To 2
  6021.       Tmp1 = Tmp1 & cRndD() & Chr$(13)
  6022.    Next i
  6023.    Tmp1 = Tmp1 & Chr$(13)
  6024.    Tmp1 = Tmp1 & "Some random Double number between 0.0 and 1.0" & Chr$(13) & Chr$(13)
  6025.    For i = 1 To 2
  6026.       Tmp1 = Tmp1 & cRnd() & Chr$(13)
  6027.    Next i
  6028.    Tmp1 = Tmp1 & Chr$(13)
  6029.    cStartBasisTimer
  6030.    For i = 1 To Item
  6031.       j = cRndI()
  6032.    Next i
  6033.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  6034.    Label3.Caption = Tmp1
  6035. End Sub
  6036. Private Sub TestRtoA()
  6037.    Dim Tmp        As String
  6038.    Dim Tmp1       As String
  6039.    Tmp = UCase$(cArabicToRoman(Year(Int(Now))))
  6040.    Tmp1 = Tmp & " in Arabic is " & cRomanToArabic(LCase$(Tmp)) & Chr$(13)
  6041.    Tmp = UCase$(cArabicToRoman(Year(Int(Now)) - 1))
  6042.    Tmp1 = Tmp1 & Tmp & " in Arabic is " & cRomanToArabic(LCase$(Tmp)) & Chr$(13)
  6043.    Tmp = UCase$(cArabicToRoman(Year(Int(Now)) + 1))
  6044.    Tmp1 = Tmp1 & Tmp & " in Arabic is " & cRomanToArabic(LCase$(Tmp)) & Chr$(13)
  6045.    Label3.Caption = Tmp1
  6046. End Sub
  6047. Private Sub TestSearchI()
  6048.    Dim Title      As String
  6049.    Dim Tmp        As String
  6050.    Dim Tmp1       As String
  6051.    Dim Tmp2       As String
  6052.    Dim i          As Integer
  6053.    Dim j          As Integer
  6054.    Dim m          As Integer
  6055.    ReDim array(20) As Integer
  6056.    Call cRndInit(-1)
  6057.    For i = LBound(array) To UBound(array)
  6058.       array(i) = cRndI()
  6059.       List1.AddItem "" & array(i)
  6060.    Next i
  6061.    Tmp1 = Tmp1 & "Search '" & array(5) & "' is " & cSearchI(array(), array(5)) & Chr$(13)
  6062.    Tmp1 = Tmp1 & "Search '" & array(10) & "' is " & cSearchI(array(), array(10)) & Chr$(13)
  6063.    Tmp1 = Tmp1 & "Search '" & array(15) & "' is " & cSearchI(array(), array(15)) & Chr$(13)
  6064.    Tmp1 = Tmp1 & "Search '" & array(20) & "' is " & cSearchI(array(), array(20)) & Chr$(13)
  6065.    Tmp1 = Tmp1 & "Search '" & -1234 & "' is " & cSearchI(array(), -1234) & Chr$(13)
  6066.    cStartBasisTimer
  6067.    For i = 1 To ItemFile
  6068.       j = cSearchI(array(), array(1))
  6069.    Next i
  6070.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  6071.    Label3.Caption = Tmp1
  6072. End Sub
  6073. Private Sub TestSerial()
  6074.    Dim Tmp           As String
  6075.    Dim Tmp1          As String
  6076.    Dim getSD         As tagSERIALDATA
  6077.    Dim putSD         As tagSERIALDATA
  6078.    Dim i             As Integer
  6079.    Dim j             As Integer
  6080.    Call CreateFile
  6081.    Tmp1 = "TEST.DAT"
  6082.    Tmp = Tmp & "File '" & Tmp1 & "' is " & IIf(cIsSerial(Tmp1) = True, "serialized", "not serialized") & Chr$(13) & Chr$(13)
  6083.    putSD.Description1 = "T2WIN-16 demonstration"
  6084.    putSD.Description2 = "Under the blue sky, the sun lights"
  6085.    putSD.Number = 136
  6086.    Tmp = Tmp & "Put/Modify '" & Trim$(putSD.Description1) & "' - '" & Trim$(putSD.Description2) & "' - '" & putSD.Number & "'" & Chr$(13) & "into file '" & Tmp1 & "' is " & IIf(cSerialPut(Tmp1, putSD), "OK", "KO") & Chr$(13)
  6087.    i = cSerialGet(Tmp1, getSD)
  6088.    Tmp = Tmp & "Get from '" & Tmp1 & "' is : " & Chr$(13)
  6089.    Tmp = Tmp & "  description 1 : " & Trim$(getSD.Description1) & Chr$(13)
  6090.    Tmp = Tmp & "  description 2 : " & Trim$(getSD.Description2) & Chr$(13)
  6091.    Tmp = Tmp & "  number : " & getSD.Number & Chr$(13) & Chr$(13)
  6092.    Tmp = Tmp & "Add 2 to serialized number part into file '" & Tmp1 & "' is " & IIf(cSerialInc(Tmp1, 2), "OK", "KO") & Chr$(13)
  6093.    i = cSerialGet(Tmp1, getSD)
  6094.    Tmp = Tmp & "Get from '" & Tmp1 & "' is : " & Chr$(13)
  6095.    Tmp = Tmp & "  description 1 : " & Trim$(getSD.Description1) & Chr$(13)
  6096.    Tmp = Tmp & "  description 2 : " & Trim$(getSD.Description2) & Chr$(13)
  6097.    Tmp = Tmp & "  number : " & getSD.Number & Chr$(13) & Chr$(13)
  6098.    Tmp = Tmp & "Substract 9 to serialized number part into file '" & Tmp1 & "' is " & IIf(cSerialInc(Tmp1, -9), "OK", "KO") & Chr$(13)
  6099.    i = cSerialGet(Tmp1, getSD)
  6100.    Tmp = Tmp & "Get from '" & Tmp1 & "' is : " & Chr$(13)
  6101.    Tmp = Tmp & "  description 1 : " & Trim$(getSD.Description1) & Chr$(13)
  6102.    Tmp = Tmp & "  description 2 : " & Trim$(getSD.Description2) & Chr$(13)
  6103.    Tmp = Tmp & "  number : " & getSD.Number & Chr$(13) & Chr$(13)
  6104.    Tmp = Tmp & "File '" & Tmp1 & "' is " & IIf(cIsSerial(Tmp1) = True, "serialized", "not serialized") & Chr$(13) & Chr$(13)
  6105.    cStartBasisTimer
  6106.    For i = 1 To ItemFile
  6107.       j = cSerialGet(Tmp1, getSD)
  6108.    Next i
  6109.    Tmp = Tmp & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  6110.    Label3.Caption = Tmp
  6111. End Sub
  6112. Private Sub TestSetAllBits()
  6113.    Dim Title      As String
  6114.    Dim Tmp        As String
  6115.    Dim Tmp1       As String
  6116.    Dim Tmp2       As String
  6117.    Dim i          As Integer
  6118.    Dim j          As Integer
  6119.    Tmp = Text1.Text
  6120.    Title = "Set all bits of [" & Tmp & "] on True is "
  6121.    Call cSetAllBits(Tmp, True)
  6122.    Tmp1 = Title & "[" & Tmp & "] " & Chr$(13) & Chr$(13)
  6123.    Title = "Set all bits of [" & Tmp & "] on False is "
  6124.    Call cSetAllBits(Tmp, False)
  6125.    Tmp1 = Tmp1 & Title & "[" & Tmp & "] " & Chr$(13) & Chr$(13)
  6126.    cStartBasisTimer
  6127.    For i = 1 To Item
  6128.       Call cSetAllBits(Tmp, True)
  6129.    Next i
  6130.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  6131.    Label3.Caption = Tmp1
  6132. End Sub
  6133. Private Sub TestSetBit()
  6134.    Dim Title      As String
  6135.    Dim Tmp        As String
  6136.    Dim Tmp1       As String
  6137.    Dim Tmp2       As String
  6138.    Dim i          As Integer
  6139.    Dim j          As Integer
  6140.    Tmp = Text1.Text
  6141.    Title = "Set bit 0,5,3 of [" & Tmp & "] on True is "
  6142.    Call cSetBit(Tmp, 0, True)
  6143.    Call cSetBit(Tmp, 5, True)
  6144.    Call cSetBit(Tmp, 3, True)
  6145.    Tmp1 = Tmp1 & Title & "[" & Tmp & "] " & Chr$(13) & Chr$(13)
  6146.    Title = "Set bit 22,30,38 of [" & Tmp & "] on False is "
  6147.    Call cSetBit(Tmp, 22, False)
  6148.    Call cSetBit(Tmp, 30, False)
  6149.    Call cSetBit(Tmp, 38, False)
  6150.    Tmp1 = Tmp1 & Title & "[" & Tmp & "] " & Chr$(13) & Chr$(13)
  6151.    Title = "Set bit 0,5,3 of [" & Tmp & "] on False is "
  6152.    Call cSetBit(Tmp, 0, False)
  6153.    Call cSetBit(Tmp, 5, False)
  6154.    Call cSetBit(Tmp, 3, False)
  6155.    Tmp1 = Tmp1 & Title & "[" & Tmp & "] " & Chr$(13) & Chr$(13)
  6156.    Title = "Set bit 22,30,38 of [" & Tmp & "] on True is "
  6157.    Call cSetBit(Tmp, 22, True)
  6158.    Call cSetBit(Tmp, 30, True)
  6159.    Call cSetBit(Tmp, 38, True)
  6160.    Tmp1 = Tmp1 & Title & "[" & Tmp & "] " & Chr$(13) & Chr$(13)
  6161.    cStartBasisTimer
  6162.    For i = 1 To Item
  6163.       Call cSetBit(Tmp, 7, True)
  6164.    Next i
  6165.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  6166.    Label3.Caption = Tmp1
  6167. End Sub
  6168. Private Sub TestSetI()
  6169.    Dim Title      As String
  6170.    Dim Tmp        As String
  6171.    Dim Tmp1       As String
  6172.    Dim Tmp2       As String
  6173.    Dim i          As Integer
  6174.    Dim j          As Integer
  6175.    Dim m          As Double
  6176.    ReDim array(ItemMean) As Integer
  6177.    Randomize Timer
  6178.    For i = LBound(array) To UBound(array)
  6179.       array(i) = 0
  6180.       List1.AddItem "" & array(i)
  6181.    Next i
  6182.    j = cSetI(array(), 1024)
  6183.    For i = LBound(array) To UBound(array)
  6184.       List2.AddItem "" & array(i)
  6185.    Next i
  6186.    Tmp1 = Tmp1 & "Set 1024 to element 1 of an integer array is : " & array(1) & Chr$(13) & Chr$(13)
  6187.    Tmp1 = Tmp1 & "Set 1024 to element " & ItemMean & " of an integer array is : " & array(ItemMean) & Chr$(13) & Chr$(13)
  6188.    cStartBasisTimer
  6189.    For i = 1 To ItemFile
  6190.       j = cSetI(array(), 1.11)
  6191.    Next i
  6192.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  6193.    Label3.Caption = Tmp1
  6194. End Sub
  6195. Private Sub TestSortI()
  6196.    Dim Title      As String
  6197.    Dim Tmp        As String
  6198.    Dim Tmp1       As String
  6199.    Dim Tmp2       As String
  6200.    Dim i          As Integer
  6201.    Dim j          As Integer
  6202.    Dim m          As Integer
  6203.    ReDim array(ItemMean) As Integer
  6204.    Randomize Timer
  6205.    For i = LBound(array) To UBound(array)
  6206.       array(i) = RandI * Rnd(1)
  6207.       List1.AddItem "" & array(i)
  6208.    Next i
  6209.    j = cSortI(array())
  6210.    For i = LBound(array) To UBound(array)
  6211.       List2.AddItem "" & array(i)
  6212.    Next i
  6213.    cStartBasisTimer
  6214.    For i = 1 To ItemFile
  6215.       j = cSortI(array())
  6216.    Next i
  6217.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  6218.    Label3.Caption = Tmp1
  6219. End Sub
  6220. Private Sub TestSpellMoney()
  6221.    Dim Title      As String
  6222.    Dim Tmp        As String
  6223.    Dim Tmp1       As String
  6224.    Dim Tmp2       As String
  6225.    Dim i          As Integer
  6226.    Dim j          As Integer
  6227.    Dim Units      As String
  6228.    Dim Cents      As String
  6229.    Units = "dollars"
  6230.    Cents = "cents"
  6231.    Tmp1 = "Spelling the following money value " & Chr$(13) & Chr$(13)
  6232.    Tmp1 = Tmp1 & "4.12 is '" & cSpellMoney(4.12, Units, Cents) & "'" & Chr$(13) & Chr$(13)
  6233.    Tmp1 = Tmp1 & "16 is '" & cSpellMoney(16, Units, Cents) & "'" & Chr$(13) & Chr$(13)
  6234.    Tmp1 = Tmp1 & "25 is '" & cSpellMoney(25, Units, Cents) & "'" & Chr$(13) & Chr$(13)
  6235.    Tmp1 = Tmp1 & "34 is '" & cSpellMoney(34, Units, Cents) & "'" & Chr$(13) & Chr$(13)
  6236.    Tmp1 = Tmp1 & "43 is '" & cSpellMoney(43, Units, Cents) & "'" & Chr$(13) & Chr$(13)
  6237.    Tmp1 = Tmp1 & "61 is '" & cSpellMoney(61, Units, Cents) & "'" & Chr$(13) & Chr$(13)
  6238.    Tmp1 = Tmp1 & "98765.43 is '" & cSpellMoney(98765.43, Units, Cents) & "'" & Chr$(13) & Chr$(13)
  6239.    Tmp1 = Tmp1 & "123456789.75 is '" & cSpellMoney(123456789.75, Units, Cents) & "'" & Chr$(13) & Chr$(13)
  6240.    cStartBasisTimer
  6241.    For i = 1 To Item
  6242.       Tmp2 = cSpellMoney(12.34, Units, Cents)
  6243.    Next i
  6244.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  6245.    Label3.Caption = Tmp1
  6246. End Sub
  6247. Private Sub TestSplitPath()
  6248.    Dim Title      As String
  6249.    Dim Tmp        As String
  6250.    Dim Tmp1       As String
  6251.    Dim Tmp2       As String
  6252.    Dim Tmp3       As String
  6253.    Dim i          As Integer
  6254.    Dim N          As Integer
  6255.    Dim j          As Long
  6256.    Dim SPLITPATH  As tagSPLITPATH
  6257.    Tmp1 = ""
  6258.    Tmp = "C:\AUTOEXEC.BAT"
  6259.    Tmp1 = Tmp1 & "Split Path " & Tmp & " into four components is :" & Chr$(13) & Chr$(13)
  6260.    N = cSplitPath(Tmp, SPLITPATH)
  6261.    Tmp1 = Tmp1 & Space$(3) & SPLITPATH.nDrive & Chr$(13)
  6262.    Tmp1 = Tmp1 & Space$(3) & SPLITPATH.nDir & Chr$(13)
  6263.    Tmp1 = Tmp1 & Space$(3) & SPLITPATH.nName & Chr$(13)
  6264.    Tmp1 = Tmp1 & Space$(3) & SPLITPATH.nExt & Chr$(13) & Chr$(13)
  6265.    Tmp = cGetSystemDirectory() & "\t2win-16.dll"
  6266.    Tmp1 = Tmp1 & "Split Path " & Tmp & " into four components is :" & Chr$(13) & Chr$(13)
  6267.    N = cSplitPath(Tmp, SPLITPATH)
  6268.    Tmp1 = Tmp1 & Space$(3) & SPLITPATH.nDrive & Chr$(13)
  6269.    Tmp1 = Tmp1 & Space$(3) & SPLITPATH.nDir & Chr$(13)
  6270.    Tmp1 = Tmp1 & Space$(3) & SPLITPATH.nName & Chr$(13)
  6271.    Tmp1 = Tmp1 & Space$(3) & SPLITPATH.nExt & Chr$(13) & Chr$(13)
  6272.    cStartBasisTimer
  6273.    For i = 1 To Item
  6274.       N = cSplitPath(Tmp, SPLITPATH)
  6275.    Next i
  6276.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  6277.    Label3.Caption = Tmp1
  6278. End Sub
  6279. Private Sub TestStringCompress()
  6280.    Dim Title      As String
  6281.    Dim Tmp        As String
  6282.    Dim Tmp1       As String
  6283.    Dim Tmp2       As String
  6284.    Dim Tmp3       As String
  6285.    Dim i          As Integer
  6286.    Dim j          As Long
  6287.    Tmp1 = ""
  6288.    Tmp = "T2WIN-16, T2WIN-16, T2WIN-16, T2WIN-16"
  6289.    Tmp2 = cStringCompress(Tmp)
  6290.    Tmp3 = cStringExpand(Tmp2)
  6291.    Tmp1 = Tmp1 & "String Compress '" & Tmp & "' is " & Format$(Len(Tmp)) & " to " & Format$(Len(Tmp2)) & " bytes." & Chr$(13)
  6292.    Tmp1 = Tmp1 & "String Expand is '" & Tmp3 & "'" & Chr$(13)
  6293.    Tmp1 = Tmp1 & "Compare string contents (not sensitive) is " & IIf(LCase$(Tmp) = LCase$(Tmp3), "same", "not same") & Chr$(13) & Chr$(13)
  6294.    cStartBasisTimer
  6295.    For i = 1 To Item
  6296.       Tmp2 = cStringCompress(Tmp)
  6297.    Next i
  6298.    Tmp3 = cStringExpand(Tmp2)
  6299.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  6300.    Label3.Caption = Tmp1
  6301. End Sub
  6302. Private Sub TestStringCRC32()
  6303.    Dim Title      As String
  6304.    Dim Tmp        As String
  6305.    Dim Tmp1       As String
  6306.    Dim Tmp2       As String
  6307.    Dim i          As Integer
  6308.    Dim j          As Integer
  6309.    Dim k          As Long
  6310.    Tmp = Text1.Text
  6311.    Title = "CRC32 for string [" & Tmp & "] is "
  6312.    Tmp1 = Title & Hex$(cStringCRC32(Tmp)) & Chr$(13) & Chr$(13)
  6313.    Title = "CRC32 for string [" & cReverse(Tmp) & "] is "
  6314.    Tmp1 = Tmp1 & Title & Hex$(cStringCRC32(cReverse(Tmp))) & Chr$(13) & Chr$(13)
  6315.    Title = "CRC32 for string [" & LCase$(Tmp) & "] is "
  6316.    Tmp1 = Tmp1 & Title & Hex$(cStringCRC32(LCase$(Tmp))) & Chr$(13) & Chr$(13)
  6317.    Title = "CRC32 for string [" & LCase$(cReverse(Tmp)) & "] is "
  6318.    Tmp1 = Tmp1 & Title & Hex$(cStringCRC32(LCase$(cReverse(Tmp)))) & Chr$(13) & Chr$(13)
  6319.    cStartBasisTimer
  6320.    For i = 1 To Item
  6321.       k = cStringCRC32(Tmp)
  6322.    Next i
  6323.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  6324.    Label3.Caption = Tmp1
  6325. End Sub
  6326. Private Sub TestStringSAR()
  6327.    Dim Title      As String
  6328.    Dim Tmp        As String
  6329.    Dim Tmp1       As String
  6330.    Dim Tmp2       As String
  6331.    Dim Tmp3       As String
  6332.    Dim i          As Integer
  6333.    Dim j          As Long
  6334.    Tmp1 = ""
  6335.    Tmp = "T2WIN-16, T2WIN-16, T2WIN-16, T2WIN-16 IS A DLL"
  6336.    Tmp2 = cStringSAR(Tmp, "T2WIN-16", "t2win-16", False)
  6337.    Tmp1 = Tmp1 & "Replace 'T2WIN-16' by 't2win-16'" & Chr$(13)
  6338.    Tmp1 = Tmp1 & "     in" & Chr$(13)
  6339.    Tmp1 = Tmp1 & Tmp & Chr$(13)
  6340.    Tmp1 = Tmp1 & "     is" & Chr$(13)
  6341.    Tmp1 = Tmp1 & Tmp2 & Chr$(13) & Chr$(13)
  6342.    Tmp2 = cStringSAR(Tmp, " TO ", "2", True)
  6343.    Tmp1 = Tmp1 & "Replace ' TO ' by '2'" & Chr$(13)
  6344.    Tmp1 = Tmp1 & "     in" & Chr$(13)
  6345.    Tmp1 = Tmp1 & Tmp & Chr$(13)
  6346.    Tmp1 = Tmp1 & "     is" & Chr$(13)
  6347.    Tmp1 = Tmp1 & Tmp2 & Chr$(13) & Chr$(13)
  6348.    Tmp2 = cStringSAR(Tmp, "T2WIN-16, ", "", True)
  6349.    Tmp1 = Tmp1 & "Replace 'T2WIN-16, ' by ''" & Chr$(13)
  6350.    Tmp1 = Tmp1 & "     in" & Chr$(13)
  6351.    Tmp1 = Tmp1 & Tmp & Chr$(13)
  6352.    Tmp1 = Tmp1 & "     is" & Chr$(13)
  6353.    Tmp1 = Tmp1 & Tmp2 & Chr$(13) & Chr$(13)
  6354.    Tmp2 = cStringSAR(Tmp, "I", "i", False)
  6355.    Tmp1 = Tmp1 & "Replace 'I' by 'i'" & Chr$(13)
  6356.    Tmp1 = Tmp1 & "     in" & Chr$(13)
  6357.    Tmp1 = Tmp1 & Tmp & Chr$(13)
  6358.    Tmp1 = Tmp1 & "     is" & Chr$(13)
  6359.    Tmp1 = Tmp1 & Tmp2 & Chr$(13) & Chr$(13)
  6360.    cStartBasisTimer
  6361.    For i = 1 To Item
  6362.       Tmp2 = cStringSAR(Tmp, "T2WIN-16", "t2win-16", False)
  6363.    Next i
  6364.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  6365.    Label3.Caption = Tmp1
  6366. End Sub
  6367. Private Sub TestSubDirectory()
  6368.    Dim Title      As String
  6369.    Dim Tmp        As String
  6370.    Dim Tmp1       As String
  6371.    Dim Tmp2       As String
  6372.    Dim i          As Integer
  6373.    Dim j          As Integer
  6374.    Dim k          As Long
  6375.    Title = "The 7 first directories in this directory are" & Chr$(13) & Chr$(13)
  6376.    Tmp1 = Title
  6377.    Tmp2 = cSubDirectory("*.*", True)
  6378.    For i = 1 To 7
  6379.       Tmp1 = Tmp1 & Tmp2 & Chr$(13)
  6380.       Tmp2 = cSubDirectory("*.*", False)
  6381.    Next i
  6382.    Tmp1 = Tmp1 & Chr$(13)
  6383.    cStartBasisTimer
  6384.    For i = 1 To Item
  6385.       Tmp = cSubDirectory("*.*", True)
  6386.    Next i
  6387.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  6388.    Label3.Caption = Tmp1
  6389. End Sub
  6390. Private Sub TestSumI()
  6391.    Dim Title      As String
  6392.    Dim Tmp        As String
  6393.    Dim Tmp1       As String
  6394.    Dim Tmp2       As String
  6395.    Dim i          As Integer
  6396.    Dim j          As Integer
  6397.    Dim m          As Double
  6398.    ReDim array(ItemMean) As Integer
  6399.    Randomize Timer
  6400.    m = 0
  6401.    For i = LBound(array) To UBound(array)
  6402.       array(i) = Int(RandI * Rnd(1))
  6403.       m = m + array(i)
  6404.       List1.AddItem "" & array(i)
  6405.    Next i
  6406.    Tmp1 = "The Sum of a integer array of " & (ItemMean + 1) & " elements is " & Chr$(13) & Chr$(13) & cSumI(array()) & " (" & m & ")" & Chr$(13) & Chr$(13)
  6407.    cStartBasisTimer
  6408.    For i = 1 To ItemFile
  6409.       m = cSumI(array())
  6410.    Next i
  6411.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  6412.    Label3.Caption = Tmp1
  6413. End Sub
  6414. Private Sub TestSwap()
  6415.    Dim Title      As String
  6416.    Dim Tmp        As String
  6417.    Dim Tmp1       As String
  6418.    Dim Tmp2       As String
  6419.    Dim i          As Integer
  6420.    Dim j          As Long
  6421.    Dim i1         As Integer
  6422.    Dim i2         As Integer
  6423.    Dim s1         As String
  6424.    Dim s2         As String
  6425.    i1 = 3276
  6426.    i2 = 12345
  6427.    s1 = "Hello"
  6428.    s2 = "World"
  6429.    Tmp1 = "SwapI of [" & i1 & "," & i2 & "] is "
  6430.    Call cSwapI(i1, i2)
  6431.    Tmp1 = Tmp1 + "[" & i1 & "," & i2 & "]" & Chr$(13)
  6432.    Tmp1 = Tmp1 + "SwapI of [" & i1 & "," & i2 & "] is "
  6433.    Call cSwapI(i1, i2)
  6434.    Tmp1 = Tmp1 + "[" & i1 & "," & i2 & "]" & Chr$(13)
  6435.    Tmp1 = Tmp1 + "SwapStr of [" & s1 & "," & s2 & "] is "
  6436.    Call cSwapStr(s1, s2)
  6437.    Tmp1 = Tmp1 + "[" & s1 & "," & s2 & "]" & Chr$(13)
  6438.    Tmp1 = Tmp1 + "SwapStr of [" & s1 & "," & s2 & "] is "
  6439.    Call cSwapStr(s1, s2)
  6440.    Tmp1 = Tmp1 + "[" & s1 & "," & s2 & "]" & Chr$(13)
  6441.    cStartBasisTimer
  6442.    For i = 1 To Item
  6443.       Call cSwapI(i1, i2)
  6444.    Next i
  6445.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  6446.    Label3.Caption = Tmp1
  6447. End Sub
  6448. Private Sub TestSysMenuChange(Language As Integer)
  6449.    Call cLngSysMenu(Language, Me.hWnd)
  6450. End Sub
  6451. Private Sub TestTime()
  6452.    Dim Tmp1       As String
  6453.    Dim i          As Integer
  6454.    Dim nNow       As Long
  6455.    Dim nHour      As Integer
  6456.    Dim nMinute    As Integer
  6457.    Dim nSecond    As Integer
  6458.    nHour = Hour(Now)
  6459.    nMinute = Minute(Now)
  6460.    nSecond = Second(Now)
  6461.    nNow = cTimeToScalar(nHour, nMinute, nSecond)
  6462.    Tmp1 = Tmp1 & "Now scalar time is '" & nNow & "'" & Chr$(13)
  6463.    nHour = 0
  6464.    nMinute = 0
  6465.    nSecond = 0
  6466.    Call cScalarToTime(nNow, nHour, nMinute, nSecond)
  6467.    Tmp1 = Tmp1 & "Hour : " & nHour & ", Minute : " & nMinute & ", Second : " & nSecond & Chr$(13) & Chr$(13)
  6468.    nNow = cTimeToScalar(32767, 59, 59)
  6469.    Tmp1 = Tmp1 & "Maximum scalar time is '" & nNow & "'" & Chr$(13)
  6470.    nHour = 0
  6471.    nMinute = 0
  6472.    nSecond = 0
  6473.    Call cScalarToTime(nNow, nHour, nMinute, nSecond)
  6474.    Tmp1 = Tmp1 & "Hour : " & nHour & ", Minute : " & nMinute & ", Second : " & nSecond & Chr$(13) & Chr$(13)
  6475.    cStartBasisTimer
  6476.    For i = 1 To Item
  6477.       nNow = cTimeToScalar(nHour, nMinute, nSecond)
  6478.    Next i
  6479.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  6480.    Label3.Caption = Tmp1
  6481. End Sub
  6482. Private Sub TestTimeBetween()
  6483.    Dim Title      As String
  6484.    Dim Tmp        As String
  6485.    Dim Tmp1       As String
  6486.    Dim Tmp2       As String
  6487.    Dim i          As Integer
  6488.    Dim j          As Integer
  6489.    Tmp1 = "The time between 10:00 and 12:01 is " & cTimeBetween(600, 721) & " minutes" & Chr$(13) & Chr$(13)
  6490.    Tmp1 = Tmp1 & "The time between 23:58 and 01:02 is " & cTimeBetween(1438, 62) & " minutes" & Chr$(13) & Chr$(13)
  6491.    cStartBasisTimer
  6492.    For i = 1 To Item
  6493.       j = cTimeBetween(0, 1439)
  6494.    Next i
  6495.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  6496.    Label3.Caption = Tmp1
  6497. End Sub
  6498. Private Sub TestTimer()
  6499.    Dim Tmp1          As String
  6500.    Dim Tmp           As String
  6501.    Dim Tmp2          As String
  6502.    Dim i             As Integer
  6503.    Dim j             As Integer
  6504.    Dim k             As Long
  6505.    Dim TimerHandle   As Integer
  6506.    Dim StartOk       As Integer
  6507.    Dim CloseOk       As Integer
  6508.    Tmp1 = "BASIS TIMER" & Chr$(13) & Chr$(13)
  6509.    Tmp1 = Tmp1 & "The elapsed time for a empty loop of 32766 iterations is "
  6510.    cStartBasisTimer
  6511.    For i = 1 To 32766
  6512.    Next i
  6513.    Tmp1 = Tmp1 & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  6514.    Tmp1 = Tmp1 & "The elapsed time for a integer loop of 32766 iterations is "
  6515.    j = 0
  6516.    cStartBasisTimer
  6517.    For i = 1 To 32766
  6518.       j = j + 1
  6519.    Next i
  6520.    Tmp1 = Tmp1 & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  6521.    Tmp1 = Tmp1 & "The elapsed time for a long loop of 32766 iterations is "
  6522.    k = 0
  6523.    cStartBasisTimer
  6524.    For i = 1 To 32766
  6525.       k = i * 2&
  6526.    Next i
  6527.    Tmp1 = Tmp1 & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  6528.    Tmp1 = Tmp1 & "The elapsed time for a string loop of 1000 iterations is "
  6529.    cStartBasisTimer
  6530.    For i = 1 To 1000
  6531.       Tmp2 = Tmp2 + "a"
  6532.    Next i
  6533.    Tmp1 = Tmp1 & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  6534.    Call cStartBasisTimer
  6535.    StartOk = cSleep(1000)
  6536.    Tmp1 = Tmp1 & "True time for 1 wait second is " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  6537.    TimerHandle = cTimerOpen()
  6538.    Tmp1 = Tmp1 & "EXTENDED TIMER (handle is '" & TimerHandle & "')" & Chr$(13) & Chr$(13)
  6539.    Tmp1 = Tmp1 & "The elapsed time for a empty loop of 32766 iterations is "
  6540.    StartOk = cTimerStart(TimerHandle)
  6541.    For i = 1 To 32766
  6542.    Next i
  6543.    Tmp1 = Tmp1 & cTimerRead(TimerHandle) & " ms" & Chr$(13) & Chr$(13)
  6544.    Tmp1 = Tmp1 & "The elapsed time for a integer loop of 32766 iterations is "
  6545.    j = 0
  6546.    StartOk = cTimerStart(TimerHandle)
  6547.    For i = 1 To 32766
  6548.       j = j + 1
  6549.    Next i
  6550.    Tmp1 = Tmp1 & cTimerRead(TimerHandle) & " ms" & Chr$(13) & Chr$(13)
  6551.    Tmp1 = Tmp1 & "The elapsed time for a long loop of 32766 iterations is "
  6552.    k = 0
  6553.    StartOk = cTimerStart(TimerHandle)
  6554.    For i = 1 To 32766
  6555.       k = i * 2&
  6556.    Next i
  6557.    Tmp1 = Tmp1 & cTimerRead(TimerHandle) & " ms" & Chr$(13) & Chr$(13)
  6558.    Tmp1 = Tmp1 & "The elapsed time for a string loop of 1000 iterations is "
  6559.    StartOk = cTimerStart(TimerHandle)
  6560.    For i = 1 To 1000
  6561.       Tmp2 = Tmp2 + "a"
  6562.    Next i
  6563.    Tmp1 = Tmp1 & cTimerRead(TimerHandle) & " ms" & Chr$(13) & Chr$(13)
  6564.    StartOk = cTimerStart(TimerHandle)
  6565.    StartOk = cSleep(1000)
  6566.    Tmp1 = Tmp1 & "True time for 1 wait second is " & cTimerRead(TimerHandle) & " ms" & Chr$(13) & Chr$(13)
  6567.    Label3.Caption = Tmp1
  6568.    CloseOk = cTimerClose(TimerHandle)
  6569. End Sub
  6570. Private Sub TestToggleAllBits()
  6571.    Dim Title      As String
  6572.    Dim Tmp        As String
  6573.    Dim Tmp1       As String
  6574.    Dim Tmp2       As String
  6575.    Dim i          As Integer
  6576.    Dim j          As Integer
  6577.    Tmp = Text1.Text
  6578.    Title = "Toggle all bits of [" & Tmp & "] is "
  6579.    Call cToggleAllBits(Tmp)
  6580.    Tmp1 = Title & "[" & Tmp & "] " & Chr$(13) & Chr$(13)
  6581.    Title = "Toggle all bits of [" & Tmp & "] is "
  6582.    Call cToggleAllBits(Tmp)
  6583.    Tmp1 = Tmp1 & Title & "[" & Tmp & "] " & Chr$(13) & Chr$(13)
  6584.    cStartBasisTimer
  6585.    For i = 1 To Item
  6586.       Call cToggleAllBits(Tmp)
  6587.    Next i
  6588.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  6589.    Label3.Caption = Tmp1
  6590. End Sub
  6591. Private Sub TestToggleBit()
  6592.    Dim Title      As String
  6593.    Dim Tmp        As String
  6594.    Dim Tmp1       As String
  6595.    Dim Tmp2       As String
  6596.    Dim i          As Integer
  6597.    Dim j          As Integer
  6598.    Tmp = Text1.Text
  6599.    Title = "Toggle bit 7,22,15 of [" & Tmp & "] is "
  6600.    Call cToggleBit(Tmp, 7)
  6601.    Call cToggleBit(Tmp, 22)
  6602.    Call cToggleBit(Tmp, 15)
  6603.    Tmp1 = Title & "[" & Tmp & "] " & Chr$(13) & Chr$(13)
  6604.    Title = "Toggle bit 7,22,15 of [" & Tmp & "] is "
  6605.    Call cToggleBit(Tmp, 7)
  6606.    Call cToggleBit(Tmp, 22)
  6607.    Call cToggleBit(Tmp, 15)
  6608.    Tmp1 = Tmp1 & Title & "[" & Tmp & "] " & Chr$(13) & Chr$(13)
  6609.    cStartBasisTimer
  6610.    For i = 1 To Item
  6611.       Call cToggleBit(Tmp, i)
  6612.    Next i
  6613.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  6614.    Label3.Caption = Tmp1
  6615. End Sub
  6616. Private Sub TestToken()
  6617.    Dim Title      As String
  6618.    Dim Tmp        As String
  6619.    Dim Tmp1       As String
  6620.    Dim Tmp2       As String
  6621.    Dim i          As Integer
  6622.    Dim j          As Integer
  6623.    Tmp = "A/BC\DEF=GHIJ?KLMNO:PQRSTUV"
  6624.    Title = "The 2,4,1,5 blocks of [" & Tmp & "] separated by any one of '/\=?' are " & Chr$(13)
  6625.    Tmp1 = Title & "  2:" & cTokenIn(Tmp, "/\=?", 2) & Chr$(13) & "  4:" & cTokenIn(Tmp, "/\=?", 4) & Chr$(13) & "  1:" & cTokenIn(Tmp, "/\=?", 1) & Chr$(13) & "  5:" & cTokenIn(Tmp, "/\=?", 5) & Chr$(13) & Chr$(13)
  6626.    cStartBasisTimer
  6627.    For i = 1 To Item
  6628.       Tmp2 = cTokenIn(Tmp, "/\=?", 2)
  6629.    Next i
  6630.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  6631.    Label3.Caption = Tmp1
  6632. End Sub
  6633. Private Sub TestTrueBetween()
  6634.    Dim Title      As String
  6635.    Dim Tmp        As String
  6636.    Dim Tmp1       As String
  6637.    Dim Tmp2       As String
  6638.    Dim i          As Integer
  6639.    Dim j          As Integer
  6640.    Tmp1 = "601 is not true between 720 and 840 => " & cTrueBetween(601, 720, 840) & Chr$(13) & Chr$(13)
  6641.    Tmp1 = Tmp1 & "601 is true between 540 and 602 => " & cTrueBetween(601, 540, 602) & Chr$(13) & Chr$(13)
  6642.    Tmp1 = Tmp1 & "61 is not true between 61 and 62 => " & cTrueBetween(61, 61, 62) & Chr$(13) & Chr$(13)
  6643.    cStartBasisTimer
  6644.    For i = 1 To Item
  6645.       j = cTrueBetween(720, 0, 1439)
  6646.    Next i
  6647.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  6648.    Label3.Caption = Tmp1
  6649. End Sub
  6650. Private Sub TestTruncatePath()
  6651.    Dim Title      As String
  6652.    Dim Tmp        As String
  6653.    Dim Tmp1       As String
  6654.    Dim Tmp2       As String
  6655.    Dim Tmp3       As String
  6656.    Dim i          As Integer
  6657.    Dim j          As Long
  6658.    Tmp1 = ""
  6659.    Tmp1 = Tmp1 & "Truncate the following path with a length of 25" & Chr$(13) & Chr$(13)
  6660.    Tmp = "t2win-16.bas"
  6661.    Tmp2 = cTruncatePath(Tmp, 25)
  6662.    Tmp1 = Tmp1 & Tmp & Chr$(13) & " -> " & Tmp2 & "  (len=" & Len(Tmp2) & ")" & Chr$(13)
  6663.    Tmp = "windows\system\t2win-16.bas"
  6664.    Tmp2 = cTruncatePath(Tmp, 25)
  6665.    Tmp1 = Tmp1 & Tmp & Chr$(13) & " -> " & Tmp2 & "  (len=" & Len(Tmp2) & ")" & Chr$(13)
  6666.    Tmp = "c:\windows\system\t2win-16.bas"
  6667.    Tmp2 = cTruncatePath(Tmp, 25)
  6668.    Tmp1 = Tmp1 & Tmp & Chr$(13) & " -> " & Tmp2 & "  (len=" & Len(Tmp2) & ")" & Chr$(13)
  6669.    Tmp = "c:\windows\system\visual\t2win-16\t2win-16.bas"
  6670.    Tmp2 = cTruncatePath(Tmp, 25)
  6671.    Tmp1 = Tmp1 & Tmp & Chr$(13) & " -> " & Tmp2 & "  (len=" & Len(Tmp2) & ")" & Chr$(13)
  6672.    Tmp = "c:\windows\system\visual\source\t2win-16\t2win-16.bas"
  6673.    Tmp2 = cTruncatePath(Tmp, 25)
  6674.    Tmp1 = Tmp1 & Tmp & Chr$(13) & " -> " & Tmp2 & "  (len=" & Len(Tmp2) & ")" & Chr$(13) & Chr$(13)
  6675.    Tmp1 = Tmp1 & "Truncate the following path with a length of 35" & Chr$(13) & Chr$(13)
  6676.    Tmp = "t2win-16.bas"
  6677.    Tmp2 = cTruncatePath(Tmp, 35)
  6678.    Tmp1 = Tmp1 & Tmp & Chr$(13) & " -> " & Tmp2 & "  (len=" & Len(Tmp2) & ")" & Chr$(13)
  6679.    Tmp = "windows\system\t2win-16.bas"
  6680.    Tmp2 = cTruncatePath(Tmp, 35)
  6681.    Tmp1 = Tmp1 & Tmp & Chr$(13) & " -> " & Tmp2 & "  (len=" & Len(Tmp2) & ")" & Chr$(13)
  6682.    Tmp = "c:\windows\system\t2win-16.bas"
  6683.    Tmp2 = cTruncatePath(Tmp, 35)
  6684.    Tmp1 = Tmp1 & Tmp & Chr$(13) & " -> " & Tmp2 & "  (len=" & Len(Tmp2) & ")" & Chr$(13)
  6685.    Tmp = "c:\windows\system\visual\t2win-16\t2win-16.bas"
  6686.    Tmp2 = cTruncatePath(Tmp, 35)
  6687.    Tmp1 = Tmp1 & Tmp & Chr$(13) & " -> " & Tmp2 & "  (len=" & Len(Tmp2) & ")" & Chr$(13)
  6688.    Tmp = "c:\windows\system\visual\source\t2win-16\t2win-16.bas"
  6689.    Tmp2 = cTruncatePath(Tmp, 35)
  6690.    Tmp1 = Tmp1 & Tmp & Chr$(13) & " -> " & Tmp2 & "  (len=" & Len(Tmp2) & ")" & Chr$(13) & Chr$(13)
  6691.    cStartBasisTimer
  6692.    For i = 1 To Item
  6693.       Tmp2 = cTruncatePath(Tmp, 25)
  6694.    Next i
  6695.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  6696.    Label3.Caption = Tmp1
  6697. End Sub
  6698. Private Sub TestUncompact()
  6699.    Dim Title      As String
  6700.    Dim Tmp        As String
  6701.    Dim Tmp1       As String
  6702.    Dim Tmp2       As String
  6703.    Dim i          As Integer
  6704.    Dim j          As Integer
  6705.    Tmp = "987654321"
  6706.    Title = "Uncompact '" & Tmp & "' is "
  6707.    Tmp1 = Title & cUncompact(Tmp) & Chr$(13) & Chr$(13)
  6708.    cStartBasisTimer
  6709.    For i = 1 To Item
  6710.       Tmp2 = cUncompact(Tmp)
  6711.    Next i
  6712.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  6713.    Label3.Caption = Tmp1
  6714. End Sub
  6715. Private Sub TestUniqueFileName()
  6716.    Dim Title      As String
  6717.    Dim Tmp        As String
  6718.    Dim Tmp1       As String
  6719.    Dim Tmp2       As String
  6720.    Dim i          As Integer
  6721.    Dim j          As Integer
  6722.    Tmp1 = "Generate unique filename with template WN is " & cUniqueFileName("WN") & Chr$(13) & Chr$(13)
  6723.    cStartBasisTimer
  6724.    For i = 1 To Item
  6725.       Tmp2 = cUniqueFileName("WN")
  6726.    Next i
  6727.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  6728.    Label3.Caption = Tmp1
  6729. End Sub
  6730. Private Sub TestVersion()
  6731.    Dim Tmp        As String
  6732.    Dim Version    As Single
  6733.    Version = cGetVersion()
  6734.    Tmp = Tmp + "Version is " & Version
  6735.    Label3.Caption = Tmp
  6736. End Sub
  6737. Private Sub TestWalkThruWindow()
  6738.    Dim nClass        As String
  6739.    Dim nCaption      As String
  6740.    Dim nOwnerClass   As String
  6741.    Dim nOwnerCaption As String
  6742.    Dim nOwnerHwnd    As Integer
  6743.    Dim nhWnd         As Integer
  6744.    Dim i             As Integer
  6745.    Frame1.Visible = True
  6746.    List1.Clear
  6747.    List2.Clear
  6748.    List1.FontBold = False
  6749.    List2.FontBold = False
  6750.    nhWnd = cWalkThruWindow(nClass, nCaption, nOwnerHwnd, nOwnerClass, nOwnerCaption, True)
  6751.    Do While (nhWnd <> 0)
  6752.       i = i + 1
  6753.       List1.AddItem "[" & Format$(i, "00") & "] " & Right$("0000" + Hex$(nhWnd), 4) & " " & nCaption & " (" & nClass & ")"
  6754.       List2.AddItem "[" & Format$(i, "00") & "] " & Right$("0000" + Hex$(nOwnerHwnd), 4) & " " & nOwnerCaption & " (" & nOwnerClass & ")"
  6755.       nhWnd = cWalkThruWindow(nClass, nCaption, nOwnerHwnd, nOwnerClass, nOwnerCaption, False)
  6756.    Loop
  6757. End Sub
  6758. Private Sub TestWindowsIni()
  6759.    Dim Tmp        As String
  6760.    Tmp = Tmp + "DateSeparator is " + cGetDateSeparator() + Chr$(13)
  6761.    Tmp = Tmp + "TimeSeparator is " + cGetTimeSeparator() + Chr$(13)
  6762.    Tmp = Tmp + "ListSeparator is " + cGetListSeparator() + Chr$(13)
  6763.    Tmp = Tmp + "DateFormat    is " + cGetDateFormat() + Chr$(13)
  6764.    Tmp = Tmp + "HourFormat    is " + cGetHourFormat() + Chr$(13)
  6765.    Tmp = Tmp + "Currency      is " + cGetCurrency() + Chr$(13)
  6766.    Tmp = Tmp + "Language      is " + cGetLanguage() + Chr$(13)
  6767.    Tmp = Tmp + "Country       is " + cGetCountry() + Chr$(13)
  6768.    Tmp = Tmp + "CountryCode   is " + cGetCountryCode() + Chr$(13)
  6769.    Label3.Caption = Tmp
  6770. End Sub
  6771. Private Sub TestWinINI1()
  6772.    Label3.Caption = cGetDevices() & Chr$(13) & Chr$(13) & "Length = " & Len(cGetDevices())
  6773. End Sub
  6774. Private Sub TestWinINI2()
  6775.    Label3.Caption = cGetPrinterPorts() & Chr$(13) & Chr$(13) & "Length = " & Len(cGetPrinterPorts())
  6776. End Sub
  6777. Private Sub TestWinINI3()
  6778.    Label3.Caption = cGetWinSection("windows") & Chr$(13) & Chr$(13) & "Length = " & Len(cGetWinSection("windows"))
  6779. End Sub
  6780. Private Sub TestHexaToX()
  6781.    Dim Title      As String
  6782.    Dim Tmp        As String
  6783.    Dim Tmp1       As String
  6784.    Dim Tmp2       As String
  6785.    Dim i          As Integer
  6786.    Dim j          As Integer
  6787.    Tmp1 = "Hexa to Integer" & Chr$(13) & Chr$(13)
  6788.    Tmp2 = "0"
  6789.    Tmp1 = Tmp1 & Tmp2 & " -> " & cH2I(Tmp2) & Chr$(13)
  6790.    Tmp2 = "1"
  6791.    Tmp1 = Tmp1 & Tmp2 & " -> " & cH2I(Tmp2) & Chr$(13)
  6792.    Tmp2 = "A"
  6793.    Tmp1 = Tmp1 & Tmp2 & " -> " & cH2I(Tmp2) & Chr$(13)
  6794.    Tmp2 = "A1"
  6795.    Tmp1 = Tmp1 & Tmp2 & " -> " & cH2I(Tmp2) & Chr$(13)
  6796.    Tmp2 = "A1B"
  6797.    Tmp1 = Tmp1 & Tmp2 & " -> " & cH2I(Tmp2) & Chr$(13)
  6798.    Tmp2 = "7FFF"
  6799.    Tmp1 = Tmp1 & Tmp2 & " -> " & cH2I(Tmp2) & Chr$(13)
  6800.    Tmp2 = "A1B2"
  6801.    Tmp1 = Tmp1 & Tmp2 & " -> " & cH2I(Tmp2) & Chr$(13)
  6802.    Tmp2 = "FFFF"
  6803.    Tmp1 = Tmp1 & Tmp2 & " -> " & cH2I(Tmp2) & Chr$(13) & Chr$(13)
  6804.    Tmp1 = Tmp1 & "Hexa to Long" & Chr$(13) & Chr$(13)
  6805.    Tmp2 = "0"
  6806.    Tmp1 = Tmp1 & Tmp2 & " -> " & cH2L(Tmp2) & Chr$(13)
  6807.    Tmp2 = "1"
  6808.    Tmp1 = Tmp1 & Tmp2 & " -> " & cH2L(Tmp2) & Chr$(13)
  6809.    Tmp2 = "A"
  6810.    Tmp1 = Tmp1 & Tmp2 & " -> " & cH2L(Tmp2) & Chr$(13)
  6811.    Tmp2 = "A1"
  6812.    Tmp1 = Tmp1 & Tmp2 & " -> " & cH2L(Tmp2) & Chr$(13)
  6813.    Tmp2 = "A1B"
  6814.    Tmp1 = Tmp1 & Tmp2 & " -> " & cH2L(Tmp2) & Chr$(13)
  6815.    Tmp2 = "A1B2"
  6816.    Tmp1 = Tmp1 & Tmp2 & " -> " & cH2L(Tmp2) & Chr$(13)
  6817.    Tmp2 = "7FFFFFFF"
  6818.    Tmp1 = Tmp1 & Tmp2 & " -> " & cH2L(Tmp2) & Chr$(13)
  6819.    Tmp2 = "B2A1A1B2"
  6820.    Tmp1 = Tmp1 & Tmp2 & " -> " & cH2L(Tmp2) & Chr$(13)
  6821.    Tmp2 = "FFFFFFFF"
  6822.    Tmp1 = Tmp1 & Tmp2 & " -> " & cH2L(Tmp2) & Chr$(13) & Chr$(13)
  6823.    cStartBasisTimer
  6824.    For i = 1 To Item
  6825.       j = cH2I(Tmp2)
  6826.    Next i
  6827.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  6828.    Label3.Caption = Tmp1
  6829. End Sub
  6830. Private Sub TestBinaryToX()
  6831.    Dim Title      As String
  6832.    Dim Tmp        As String
  6833.    Dim Tmp1       As String
  6834.    Dim Tmp2       As String
  6835.    Dim i          As Integer
  6836.    Dim j          As Integer
  6837.    Tmp1 = "Binary to Integer" & Chr$(13) & Chr$(13)
  6838.    Tmp2 = String(1, "1")
  6839.    Tmp1 = Tmp1 & Tmp2 & " -> " & cB2I(Tmp2) & Chr$(13)
  6840.    Tmp2 = String(2, "1")
  6841.    Tmp1 = Tmp1 & Tmp2 & " -> " & cB2I(Tmp2) & Chr$(13)
  6842.    Tmp2 = String(4, "1")
  6843.    Tmp1 = Tmp1 & Tmp2 & " -> " & cB2I(Tmp2) & Chr$(13)
  6844.    Tmp2 = String(8, "1")
  6845.    Tmp1 = Tmp1 & Tmp2 & " -> " & cB2I(Tmp2) & Chr$(13)
  6846.    Tmp2 = String(16, "1")
  6847.    Tmp1 = Tmp1 & Tmp2 & " -> " & cB2I(Tmp2) & Chr$(13)
  6848.    Tmp2 = "0111111111111111"
  6849.    Tmp1 = Tmp1 & Tmp2 & " -> " & cB2I(Tmp2) & Chr$(13)
  6850.    Tmp2 = "0101010101010101"
  6851.    Tmp1 = Tmp1 & Tmp2 & " -> " & cB2I(Tmp2) & Chr$(13)
  6852.    Tmp2 = "1010101010101010"
  6853.    Tmp1 = Tmp1 & Tmp2 & " -> " & cB2I(Tmp2) & Chr$(13) & Chr$(13)
  6854.    Tmp1 = Tmp1 & "Binary to Long" & Chr$(13) & Chr$(13)
  6855.    Tmp2 = String(1, "1")
  6856.    Tmp1 = Tmp1 & Tmp2 & " -> " & cB2L(Tmp2) & Chr$(13)
  6857.    Tmp2 = String(4, "1")
  6858.    Tmp1 = Tmp1 & Tmp2 & " -> " & cB2L(Tmp2) & Chr$(13)
  6859.    Tmp2 = String(8, "1")
  6860.    Tmp1 = Tmp1 & Tmp2 & " -> " & cB2L(Tmp2) & Chr$(13)
  6861.    Tmp2 = String(16, "1")
  6862.    Tmp1 = Tmp1 & Tmp2 & " -> " & cB2L(Tmp2) & Chr$(13)
  6863.    Tmp2 = String(32, "1")
  6864.    Tmp1 = Tmp1 & Tmp2 & " -> " & cB2L(Tmp2) & Chr$(13)
  6865.    Tmp2 = "0101010101010101"
  6866.    Tmp1 = Tmp1 & Tmp2 & " -> " & cB2L(Tmp2) & Chr$(13)
  6867.    Tmp2 = "1010101010101010"
  6868.    Tmp1 = Tmp1 & Tmp2 & " -> " & cB2L(Tmp2) & Chr$(13)
  6869.    Tmp2 = "01010101010101010101010101010101"
  6870.    Tmp1 = Tmp1 & Tmp2 & " -> " & cB2L(Tmp2) & Chr$(13)
  6871.    Tmp2 = "10101010101010101010101010101010"
  6872.    Tmp1 = Tmp1 & Tmp2 & " -> " & cB2L(Tmp2) & Chr$(13) & Chr$(13)
  6873.    cStartBasisTimer
  6874.    For i = 1 To Item
  6875.       j = cB2I(Tmp2)
  6876.    Next i
  6877.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  6878.    Label3.Caption = Tmp1
  6879. End Sub
  6880.